time="2025-02-04T18:20:01Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion" Container integration-test-authorization-1 Creating Container integration-test-experiment-1 Creating Container integration-test-device-1 Creating Container integration-test-federation-1 Creating Container integration-test-authentication-1 Creating Container integration-test-gateway-1 Creating Container integration-test-device-1 Created Container integration-test-experiment-1 Created Container integration-test-federation-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/lti_service.conf to /etc/nginx/lti_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2025-02-04T18:20:27Z"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:39214","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-02-04T18:20:27Z"} authorization-1 | {"client_addr":"127.0.0.1:39214","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.248108,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:27Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1738693227.9291165} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1738693227.929181} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1738693227.9291978} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"grpc TLS is disabled, serving connections using insecure plaintext","subsystem":"openfga","timestamp":1738693227.9292114} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿ“ˆ starting metrics server on '0.0.0.0:2112'","subsystem":"openfga","timestamp":1738693227.9292228} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","date":"2023-06-30T20:11:20Z","go-version":"go1.20.5","level":"info","message":"๐Ÿš€ starting openfga service...","subsystem":"openfga","timestamp":1738693227.929254,"version":"v1.2.0"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"grpc server listening on 'localhost:3012'...","subsystem":"openfga","timestamp":1738693227.9296343} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1738693227.9306567} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"CreateStore","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-02-04T18:20:27.946625568Z","id":"01JK932DDA9ZT5FXSQP5G4BXHE","name":"crosslab","updated_at":"2025-02-04T18:20:27.946625568Z"},"request_id":"a3f6eca7-354f-4ad8-9f48-e54b9b538f94","subsystem":"openfga","timestamp":1738693227.9467337} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"WriteAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"schema_version":"1.1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]},"raw_response":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9"},"request_id":"37c4853a-405a-4198-a07f-e23668d43144","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693227.9804487} authorization-1 | {"client_addr":"127.0.0.1:39214","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-02-04T18:20:27Z"} authorization-1 | {"client_addr":"127.0.0.1:39214","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.193903,"resp_status":204,"subsystem":"opa","time":"2025-02-04T18:20:27Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.1.0/opa_linux_amd64","latest_version":"1.1.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.1.0","subsystem":"opa","time":"2025-02-04T18:20:28Z"} gateway-1 | {"time_local":"04/Feb/2025:18:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.013","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"382f0a29ebd4d52ceda1d9238540a469"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 10ms","method":"HEAD","requestID":"382f0a29ebd4d52ceda1d9238540a469","responseTime":10,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"04/Feb/2025:18:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /device/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.017","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"be5b7b6ed6e6326bdbf8c91a44d4a855"} device-1 | {"level":"info","message":"HEAD /device/status 200 12ms","method":"HEAD","requestID":"ba093c70-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"04/Feb/2025:18:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"cd0cbdf0f5a626d55233c21e47a46cdc"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 9ms","method":"HEAD","requestID":"cd0cbdf0f5a626d55233c21e47a46cdc","responseTime":9,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"04/Feb/2025:18:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /federation/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.024","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"cb47cfb4e59d01f6b3b5a13818eae459"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 15ms","method":"HEAD","requestID":"ba10b680-e324-11ef-9f0b-0b363ea8a38c","responseTime":15,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"04/Feb/2025:18:20:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"6c88895ace69527c5eeb9f71fa96751e"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"ba14d530-e324-11ef-ba60-3781ca5720b1","responseTime":9,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"04/Feb/2025:18:20:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1819c012bad5f42599b597eb99c66f9b"} authentication-1 | {"level":"info","message":"POST /login 201 131ms","method":"POST","requestID":"1819c012bad5f42599b597eb99c66f9b","responseTime":131,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzIzOX0.S53NBiPX3jNCB19VRfmXoLpkle9JfSYOQ8joHgkqt-U","level":"info","message":"auth send jwt","requestID":"6da90631db37e059b621b38d87295f87"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"6da90631db37e059b621b38d87295f87","responseTime":24,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6da90631db37e059b621b38d87295f87"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.135563,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6da90631db37e059b621b38d87295f87","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693239,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzIzOX0.S53NBiPX3jNCB19VRfmXoLpkle9JfSYOQ8joHgkqt-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"6da90631db37e059b621b38d87295f87","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"14159489-bc0e-47ad-8933-9e490036e3af","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.4445772} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"6da90631db37e059b621b38d87295f87","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eaf813cf-655a-4131-8c0c-2e219236a7a5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.4607224} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"6da90631db37e059b621b38d87295f87","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"44828aa4-6d8f-491a-bf5c-aa68b77ac37d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.4773993} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96a7b857-31c2-4656-b5e8-9774868b8197","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.4785888} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"6da90631db37e059b621b38d87295f87","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.477378312Z"}]},"request_id":"7d4a941a-4f54-4f1f-ba14-5738cc129364","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.4862728} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6da90631db37e059b621b38d87295f87","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6da90631db37e059b621b38d87295f87"} device-1 | {"level":"info","message":"POST /devices? 201 254ms","method":"POST","requestID":"6da90631db37e059b621b38d87295f87","responseTime":254,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:20:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.300","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6da90631db37e059b621b38d87295f87"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzIzOX0.S53NBiPX3jNCB19VRfmXoLpkle9JfSYOQ8joHgkqt-U","level":"info","message":"auth send jwt","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:39Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.134764,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693239,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzIzOX0.S53NBiPX3jNCB19VRfmXoLpkle9JfSYOQ8joHgkqt-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f442e849-bd80-4d42-8678-6bd63d3db40e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.5665016} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b35b5fe-31e1-4725-97bc-268499094370","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.5808403} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"dd122ab3-54f5-4351-a923-d4ab872a3453","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.6013288} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bd51b8d-3e69-4b5f-8980-2dc86fad57ab","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.6020696} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.601312620Z"}]},"request_id":"010969a1-9b15-4407-a492-9c3aeb830826","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693239.6150243} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54"} gateway-1 | {"time_local":"04/Feb/2025:18:20:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54"} device-1 | {"level":"info","message":"POST /devices? 201 96ms","method":"POST","requestID":"4b125c7a16e8dc41f8a5a7a4ee516f54","responseTime":96,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d28899eaf6ba5d36668724d879e3faca","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d28899eaf6ba5d36668724d879e3faca","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9ac477761349ccf24b107639fb194b76","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ac477761349ccf24b107639fb194b76","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.012","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d28899eaf6ba5d36668724d879e3faca"} device-1 | {"level":"info","message":"OPTIONS /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/websocket 200 3ms","method":"OPTIONS","requestID":"d28899eaf6ba5d36668724d879e3faca","responseTime":3,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:20:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.013","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9ac477761349ccf24b107639fb194b76"} device-1 | {"level":"info","message":"OPTIONS /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/websocket 200 2ms","method":"OPTIONS","requestID":"9ac477761349ccf24b107639fb194b76","responseTime":2,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0MX0.iorlegCh2B6HOBpdw-HcqC7L0C2mwlmQ16AYORpHbrA","level":"info","message":"auth send jwt","requestID":"5593c6f6c056d1606a72dfccfc89a2d0"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"5593c6f6c056d1606a72dfccfc89a2d0","responseTime":13,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0MX0.iorlegCh2B6HOBpdw-HcqC7L0C2mwlmQ16AYORpHbrA","level":"info","message":"auth send jwt","requestID":"dc8ab792566aab30b92817802d48f69b"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"dc8ab792566aab30b92817802d48f69b","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5593c6f6c056d1606a72dfccfc89a2d0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dc8ab792566aab30b92817802d48f69b"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:41Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.134536,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5593c6f6c056d1606a72dfccfc89a2d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693241,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0MX0.iorlegCh2B6HOBpdw-HcqC7L0C2mwlmQ16AYORpHbrA"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"5593c6f6c056d1606a72dfccfc89a2d0","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.701678,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dc8ab792566aab30b92817802d48f69b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693241,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0MX0.iorlegCh2B6HOBpdw-HcqC7L0C2mwlmQ16AYORpHbrA"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"dc8ab792566aab30b92817802d48f69b","responseTime":15,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dc8ab792566aab30b92817802d48f69b"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.076","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dc8ab792566aab30b92817802d48f69b"} device-1 | {"level":"info","message":"POST /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/websocket 200 56ms","method":"POST","requestID":"dc8ab792566aab30b92817802d48f69b","responseTime":56,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5593c6f6c056d1606a72dfccfc89a2d0"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.094","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5593c6f6c056d1606a72dfccfc89a2d0"} device-1 | {"level":"info","message":"POST /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/websocket 200 79ms","method":"POST","requestID":"5593c6f6c056d1606a72dfccfc89a2d0","responseTime":79,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY","level":"info","message":"auth send jwt","requestID":"37db959f1f65dbf7bb8856f48979173e"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"37db959f1f65dbf7bb8856f48979173e","responseTime":11,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"37db959f1f65dbf7bb8856f48979173e"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.994473,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"37db959f1f65dbf7bb8856f48979173e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"37db959f1f65dbf7bb8856f48979173e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.477378312Z"}]},"request_id":"4c0c0048-648b-4e5b-a0aa-028bda00dc14","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.1341126} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"37db959f1f65dbf7bb8856f48979173e","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"37db959f1f65dbf7bb8856f48979173e"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37db959f1f65dbf7bb8856f48979173e"} device-1 | {"level":"info","message":"GET /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7? 200 38ms","method":"GET","requestID":"37db959f1f65dbf7bb8856f48979173e","responseTime":38,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY","level":"info","message":"auth send jwt","requestID":"c54de40705afde634aa80fb83225e436"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c54de40705afde634aa80fb83225e436","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c54de40705afde634aa80fb83225e436"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928761,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c54de40705afde634aa80fb83225e436","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c54de40705afde634aa80fb83225e436","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.601312620Z"}]},"request_id":"0626db67-7ff5-4922-beff-4f1acc0532de","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.169226} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c54de40705afde634aa80fb83225e436","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c54de40705afde634aa80fb83225e436"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c54de40705afde634aa80fb83225e436"} device-1 | {"level":"info","message":"GET /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6? 200 17ms","method":"GET","requestID":"c54de40705afde634aa80fb83225e436","responseTime":17,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY","level":"info","message":"auth send jwt","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.704424,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Attempting to run experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Attempting to book experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Successfully booked experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be562860-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be569d90-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.196701,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be562860-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"be562860-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644641,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be569d90-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be569d90-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.477378312Z"}]},"request_id":"07ae9b4f-f75f-48c2-ba8f-f63d19f6ae01","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.3561382} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"be562860-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.601312620Z"}]},"request_id":"f29ca474-ff75-484d-86e6-01b363d463c8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.3592856} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"be569d90-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be562860-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7? 200 24ms","method":"GET","requestID":"be562860-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be569d90-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6? 200 22ms","method":"GET","requestID":"be569d90-e324-11ef-a766-ff4094b4009c","responseTime":22,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Setting up experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Successfully set up experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be6a4ca0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be6ac1d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849918,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be6a4ca0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"be6a4ca0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Successfully running experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825623,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be6ac1d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"be6ac1d0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be6bac30-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"933c6195-482b-4e4a-8e70-42cb05e0acc1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.498518} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.839145,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be6bac30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","method":"POST","requestID":"be6bac30-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.477378312Z"}]},"request_id":"8d2dc9ef-ca22-4f9a-8eee-552d2697731d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.502579} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.601312620Z"}]},"request_id":"6195899b-44c1-47af-bbad-4a1c67d5927b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.5070372} authorization-1 | {"level":"info","message":"POST /relations/query 200 18ms","method":"POST","requestID":"be6a4ca0-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be6bac30-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 16ms","method":"POST","requestID":"be6ac1d0-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling 200 35ms","method":"POST","requestID":"be6bac30-e324-11ef-a766-ff4094b4009c","responseTime":35,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fda75f9d1-44b3-4745-a213-62adda53e1e4#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fda75f9d1-44b3-4745-a213-62adda53e1e4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"b141b826-7381-425c-9b3a-c4b70090f043","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.520251} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b4c266d-46dd-4dc5-be69-0616ea4273d7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.5205843} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be7262f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be6ac1d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6? 200 53ms","method":"GET","requestID":"be6ac1d0-e324-11ef-a766-ff4094b4009c","responseTime":53,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6?"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be6a4ca0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7? 200 58ms","method":"GET","requestID":"be6a4ca0-e324-11ef-a766-ff4094b4009c","responseTime":58,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6117250-b9ce-456b-8535-924d4372d6da","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.53322} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.116323,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be7262f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"be7262f0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be7262f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling 200 13ms","method":"POST","requestID":"be7262f0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be74ace0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99b68c95-a9b6-46eb-9969-731064c09dd2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.5490284} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.997439,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be74ace0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be74ace0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.376","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 362ms","method":"POST","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d","responseTime":362,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be74ace0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling 200 15ms","method":"POST","requestID":"be74ace0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be779310-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY","level":"info","message":"auth send jwt","requestID":"15803cbfd70163b7aed8efef53bb089d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"15803cbfd70163b7aed8efef53bb089d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15803cbfd70163b7aed8efef53bb089d"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9055d1b0-94aa-4202-bb1f-7117ab515fa2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.5670779} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.557267,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be779310-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be779310-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71456,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be779310-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling 200 11ms","method":"POST","requestID":"be779310-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"15803cbfd70163b7aed8efef53bb089d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"15803cbfd70163b7aed8efef53bb089d","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Building connection plan","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"0ed536d7-5827-4ec7-92ee-ff46cd1b4c7a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"79ae4fb0-bd8a-4ac3-b6fe-c758ff9fccc1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d04c7a13-024f-4055-9e83-0e55cb7a7800"}]},"level":"info","message":"Built pairwise service configurations","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.477378312Z"}]},"request_id":"a7f1b506-1bdd-4647-8745-6080f18cafd5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.5781379} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"15803cbfd70163b7aed8efef53bb089d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.24319,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15803cbfd70163b7aed8efef53bb089d"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15803cbfd70163b7aed8efef53bb089d"} device-1 | {"level":"info","message":"GET /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7? 200 23ms","method":"GET","requestID":"15803cbfd70163b7aed8efef53bb089d","responseTime":23,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be7aa050-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY","level":"info","message":"auth send jwt","requestID":"45c4bbbee9dadfd09762944e80edbf30"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"45c4bbbee9dadfd09762944e80edbf30","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"45c4bbbee9dadfd09762944e80edbf30"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841207,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"45c4bbbee9dadfd09762944e80edbf30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"45c4bbbee9dadfd09762944e80edbf30","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:39.601312620Z"}]},"request_id":"fad59f5b-bd27-4eef-8403-e7b87567b06e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.605802} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"45c4bbbee9dadfd09762944e80edbf30","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"45c4bbbee9dadfd09762944e80edbf30"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45c4bbbee9dadfd09762944e80edbf30"} device-1 | {"level":"info","message":"GET /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6? 200 14ms","method":"GET","requestID":"45c4bbbee9dadfd09762944e80edbf30","responseTime":14,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"d6fd7297-5176-4480-bb7d-e2dc43c80c2d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.611867} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"516d66d7-75f7-4ef0-b919-3455991d285e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.6123016} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541'","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541'","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"be7aa050-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541","device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541","device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"24a3a1ef09034bb7c8bbc640b6a1f55d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be88aa10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afd1015d-2dd6-433a-be65-a790afd3add0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.679245} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.060659,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be88aa10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"be88aa10-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be88aa10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling 200 16ms","method":"POST","requestID":"be88aa10-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling"} device-1 | {"device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be8b9040-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"625e7f87-ea2c-4a13-a4db-0dd21e6360e6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.6976206} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.779551,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be8b9040-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"be8b9040-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 1767992139172728892 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:5tp8\r\na=ice-pwd:+bbnWIxLJJ/Nx0UlJl6yNMMG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 33:11:57:84:98:69:A5:FA:15:03:C5:6C:08:66:28:93:30:C9:EC:7C:00:0C:21:00:78:B9:99:A2:9D:68:1C:92\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be8b9040-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling 200 13ms","method":"POST","requestID":"be8b9040-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8370606811364561686 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:UBJo\r\na=ice-pwd:ECAaqt7tg8RsgNFlLE+/1jdr\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B5:B3:18:82:17:78:39:65:9A:6F:C4:D8:43:82:C5:20:9F:D9:5B:51:BA:28:64:4F:91:77:BA:58:5B:D8:0D:EC\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2245701866 1 udp 2113937151 fd3675b9-d4eb-42d5-a97b-2a555892c8f4.local 36984 typ host generation 0 ufrag UBJo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6'"} device-1 | {"content":{"candidate":"candidate:384897529 1 udp 1677729535 141.24.211.56 36984 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag UBJo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6'"} device-1 | {"content":{"candidate":"candidate:4096083546 1 udp 2113937151 129f3400-f606-4484-8232-b005b03e8d46.local 42973 typ host generation 0 ufrag 5tp8 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1879583781 1 udp 1677729535 141.24.211.56 42973 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 5tp8 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7'"} device-1 | {"device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"178e0505-d623-4cb4-9cee-2f9acf29f541","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"54466fa653d27546e66ba04ee6aa8c50","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"54466fa653d27546e66ba04ee6aa8c50","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541"}}},"level":"info","message":"received a callback","requestID":"54466fa653d27546e66ba04ee6aa8c50"} device-1 | {"data":{"peerconnection":"178e0505-d623-4cb4-9cee-2f9acf29f541","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 14ms","method":"POST","requestID":"54466fa653d27546e66ba04ee6aa8c50","responseTime":14,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"54466fa653d27546e66ba04ee6aa8c50"} device-1 | {"data":{"peerconnection":"178e0505-d623-4cb4-9cee-2f9acf29f541","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"178e0505-d623-4cb4-9cee-2f9acf29f541","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e2dbaf222a8b35a83bef03474cc43e15","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e2dbaf222a8b35a83bef03474cc43e15","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541"}}},"level":"info","message":"received a callback","requestID":"e2dbaf222a8b35a83bef03474cc43e15"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"be9be3f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F178e0505-d623-4cb4-9cee-2f9acf29f541","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"629fd797-9432-476d-9c6e-1c074befffeb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.8038104} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.369933,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"be9be3f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"be9be3f0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"be9be3f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541 200 10ms","method":"GET","requestID":"be9be3f0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"e2dbaf222a8b35a83bef03474cc43e15","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"e2dbaf222a8b35a83bef03474cc43e15"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bea029b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78185571-a25c-4b2a-bb47-8d82581665f4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.8320162} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.45665,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bea029b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"bea029b0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bea029b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling 200 11ms","method":"POST","requestID":"bea029b0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY","level":"info","message":"auth send jwt","requestID":"326057fd4f1dd37e179cf33673c596ae"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"326057fd4f1dd37e179cf33673c596ae","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bea273a0-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/da75f9d1-44b3-4745-a213-62adda53e1e4","requestID":"326057fd4f1dd37e179cf33673c596ae"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22fe20bb-a8d6-4d71-a12f-1306078456ca","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.8470309} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.940384,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"326057fd4f1dd37e179cf33673c596ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"326057fd4f1dd37e179cf33673c596ae","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.122546,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bea273a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"bea273a0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bea273a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling 200 11ms","method":"POST","requestID":"bea273a0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/da75f9d1-44b3-4745-a213-62adda53e1e4","requestID":"326057fd4f1dd37e179cf33673c596ae"} gateway-1 | {"time_local":"04/Feb/2025:18:20:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/da75f9d1-44b3-4745-a213-62adda53e1e4 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"326057fd4f1dd37e179cf33673c596ae"} experiment-1 | {"level":"info","message":"GET /experiments/da75f9d1-44b3-4745-a213-62adda53e1e4 200 16ms","method":"GET","requestID":"326057fd4f1dd37e179cf33673c596ae","responseTime":16,"status":200,"url":"/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY","level":"info","message":"auth send jwt","requestID":"b663f3d4740c480be10c070a973372b8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b663f3d4740c480be10c070a973372b8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/da75f9d1-44b3-4745-a213-62adda53e1e4","requestID":"b663f3d4740c480be10c070a973372b8"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.795557,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b663f3d4740c480be10c070a973372b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b663f3d4740c480be10c070a973372b8","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Attempting to finish experiment","requestID":"b663f3d4740c480be10c070a973372b8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bea86710-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.17923,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bea86710-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693242,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0Mn0.hYo4LneSEykKl-cZQHlT3eLBGev_VxzaJmbHLtE1CbY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bea86710-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541","device":"4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541","device":"8cb1e057-527c-46f5-9ab8-8261ef8c09e7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"178e0505-d623-4cb4-9cee-2f9acf29f541","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0b7a912ac2cd748ed07075b1b26d8b4c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0b7a912ac2cd748ed07075b1b26d8b4c","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ad48fa5a6b4fdedf1d42468c85a96ccf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541"}}},"level":"info","message":"received a callback","requestID":"0b7a912ac2cd748ed07075b1b26d8b4c"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ad48fa5a6b4fdedf1d42468c85a96ccf","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541"}}},"level":"info","message":"received a callback","requestID":"ad48fa5a6b4fdedf1d42468c85a96ccf"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F178e0505-d623-4cb4-9cee-2f9acf29f541': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F178e0505-d623-4cb4-9cee-2f9acf29f541","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"6d900d1d-c9f9-4e2c-a71c-89fc6fbe735b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.9110503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55fa0cc4-313c-4b27-89fa-f0d629392e1c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.911313} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"bea86710-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"178e0505-d623-4cb4-9cee-2f9acf29f541","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bea86710-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541 204 65ms","method":"DELETE","requestID":"bea86710-e324-11ef-a766-ff4094b4009c","responseTime":65,"status":204,"url":"/peerconnections/178e0505-d623-4cb4-9cee-2f9acf29f541"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"},"level":"info","message":"Successfully finished experiment","requestID":"b663f3d4740c480be10c070a973372b8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"beb58670-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12c148a4-77e0-4851-a5f4-bffdae9cf518","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.9756541} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.578659,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"beb58670-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"beb58670-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"beb58670-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling 200 15ms","method":"POST","requestID":"beb58670-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fda75f9d1-44b3-4745-a213-62adda53e1e4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fda75f9d1-44b3-4745-a213-62adda53e1e4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"c60bc824-779b-48ed-8788-c9e9a60ced5d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.9854925} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"beb86ca0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ced285e7-a987-4ec6-846d-90136e6967ce","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.9861608} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"b663f3d4740c480be10c070a973372b8","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8cb1e057-527c-46f5-9ab8-8261ef8c09e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b901d209-bd45-4422-95b8-0a8b59d51172","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693242.9951396} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.076969,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"beb86ca0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"beb86ca0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"beb86ca0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling 200 15ms","method":"POST","requestID":"beb86ca0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/da75f9d1-44b3-4745-a213-62adda53e1e4","requestID":"b663f3d4740c480be10c070a973372b8"} gateway-1 | {"time_local":"04/Feb/2025:18:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/da75f9d1-44b3-4745-a213-62adda53e1e4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b663f3d4740c480be10c070a973372b8"} experiment-1 | {"level":"info","message":"DELETE /experiments/da75f9d1-44b3-4745-a213-62adda53e1e4 204 182ms","method":"DELETE","requestID":"b663f3d4740c480be10c070a973372b8","responseTime":182,"status":204,"url":"/experiments/da75f9d1-44b3-4745-a213-62adda53e1e4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0M30.1KA-xWyEiYG1Wt5r0d4fR05yo2XvTW0eeQmkvcC39Q4","level":"info","message":"auth send jwt","requestID":"cb8a46059a472d48cdfc8d347231449a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"0b7a912ac2cd748ed07075b1b26d8b4c","responseTime":151,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cb8a46059a472d48cdfc8d347231449a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"ad48fa5a6b4fdedf1d42468c85a96ccf","responseTime":151,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"cb8a46059a472d48cdfc8d347231449a"} gateway-1 | {"time_local":"04/Feb/2025:18:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"0b7a912ac2cd748ed07075b1b26d8b4c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:43Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.860328,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb8a46059a472d48cdfc8d347231449a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693243,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0M30.1KA-xWyEiYG1Wt5r0d4fR05yo2XvTW0eeQmkvcC39Q4"} gateway-1 | {"time_local":"04/Feb/2025:18:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"ad48fa5a6b4fdedf1d42468c85a96ccf"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb8a46059a472d48cdfc8d347231449a","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:18:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.990","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f50357de52067c416c6ca6535292397c"} gateway-1 | {"time_local":"04/Feb/2025:18:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"1.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b051fe4aa7654cee89a2630ea44488a0"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4b7437d7-c159-4ab2-b118-b3ea30b5c4d6' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8cb1e057-527c-46f5-9ab8-8261ef8c09e7' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"88d55ee7-51f6-44fb-87d8-48576e12d807","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.0834343} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb8a46059a472d48cdfc8d347231449a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fa7023c-00f8-4f67-b3da-1f9a7182c14d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.0893216} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"cb8a46059a472d48cdfc8d347231449a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"7540bf71-787d-4934-baa9-dba6bb29a963","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.0998206} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17918a82-b1f8-46e7-81b8-58fee579e9c3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.0999177} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"cb8a46059a472d48cdfc8d347231449a","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.099810256Z"}]},"request_id":"d2e81323-d9be-4380-811c-96c850380ce3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.1042778} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb8a46059a472d48cdfc8d347231449a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cb8a46059a472d48cdfc8d347231449a"} gateway-1 | {"time_local":"04/Feb/2025:18:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb8a46059a472d48cdfc8d347231449a"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"cb8a46059a472d48cdfc8d347231449a","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0M30.1KA-xWyEiYG1Wt5r0d4fR05yo2XvTW0eeQmkvcC39Q4","level":"info","message":"auth send jwt","requestID":"93a48830df6a0c243797f2eac2d6fd94"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"93a48830df6a0c243797f2eac2d6fd94","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"93a48830df6a0c243797f2eac2d6fd94"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:43Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.688404,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"93a48830df6a0c243797f2eac2d6fd94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693243,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0M30.1KA-xWyEiYG1Wt5r0d4fR05yo2XvTW0eeQmkvcC39Q4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"93a48830df6a0c243797f2eac2d6fd94","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9fb0e79d-17e0-439b-a718-10fc66e4dade","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.1335232} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"93a48830df6a0c243797f2eac2d6fd94","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f33b2d9a-4fe2-4fb1-99e8-72df06a2d7cb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.1382291} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"93a48830df6a0c243797f2eac2d6fd94","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"22d6c509-19af-4484-acb4-5bb133a55e71","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.1499991} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3bf87cb-8df6-4f85-a202-abcc04609955","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.1502101} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"93a48830df6a0c243797f2eac2d6fd94","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.149984962Z"}]},"request_id":"14e36ef8-25f6-4a7a-8c93-70d2623b86f2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.154333} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"93a48830df6a0c243797f2eac2d6fd94","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"93a48830df6a0c243797f2eac2d6fd94"} gateway-1 | {"time_local":"04/Feb/2025:18:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93a48830df6a0c243797f2eac2d6fd94"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"93a48830df6a0c243797f2eac2d6fd94","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0M30.1KA-xWyEiYG1Wt5r0d4fR05yo2XvTW0eeQmkvcC39Q4","level":"info","message":"auth send jwt","requestID":"00d4623ad850faf98eeb317fb838618d"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"00d4623ad850faf98eeb317fb838618d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"00d4623ad850faf98eeb317fb838618d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:43Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.270851,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"00d4623ad850faf98eeb317fb838618d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693243,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0M30.1KA-xWyEiYG1Wt5r0d4fR05yo2XvTW0eeQmkvcC39Q4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"00d4623ad850faf98eeb317fb838618d","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.149984962Z"}]},"request_id":"a9d2e22a-4820-45c5-bcf5-79c3975e9991","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.7081096} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"00d4623ad850faf98eeb317fb838618d","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9bb22df-76e5-4320-ae0a-d02b7971ccf8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.7170975} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"00d4623ad850faf98eeb317fb838618d","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.149984962Z"}]},"request_id":"3a22250a-1513-4152-ac85-cf6c6f179f06","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693243.7338035} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"00d4623ad850faf98eeb317fb838618d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"00d4623ad850faf98eeb317fb838618d"} gateway-1 | {"time_local":"04/Feb/2025:18:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6f8ae667-4337-4721-b966-e90060c2c4e5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.076","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"00d4623ad850faf98eeb317fb838618d"} device-1 | {"level":"info","message":"PATCH /devices/6f8ae667-4337-4721-b966-e90060c2c4e5 200 67ms","method":"PATCH","requestID":"00d4623ad850faf98eeb317fb838618d","responseTime":67,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0M30.1KA-xWyEiYG1Wt5r0d4fR05yo2XvTW0eeQmkvcC39Q4","level":"info","message":"auth send jwt","requestID":"8f8d1eededa763a11c69a4ca59035ed6"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8f8d1eededa763a11c69a4ca59035ed6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8f8d1eededa763a11c69a4ca59035ed6"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:43Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216667,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8f8d1eededa763a11c69a4ca59035ed6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693243,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0M30.1KA-xWyEiYG1Wt5r0d4fR05yo2XvTW0eeQmkvcC39Q4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8f8d1eededa763a11c69a4ca59035ed6","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8f8d1eededa763a11c69a4ca59035ed6"} gateway-1 | {"time_local":"04/Feb/2025:18:20:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6f8ae667-4337-4721-b966-e90060c2c4e5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"8f8d1eededa763a11c69a4ca59035ed6"} device-1 | {"level":"info","message":"POST /devices/6f8ae667-4337-4721-b966-e90060c2c4e5/websocket 200 24ms","method":"POST","requestID":"8f8d1eededa763a11c69a4ca59035ed6","responseTime":24,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f06a1794a609528feb9e1e2d0e142789","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f06a1794a609528feb9e1e2d0e142789","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f06a1794a609528feb9e1e2d0e142789"} device-1 | {"level":"info","message":"OPTIONS /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/websocket 200 2ms","method":"OPTIONS","requestID":"f06a1794a609528feb9e1e2d0e142789","responseTime":2,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64","level":"info","message":"auth send jwt","requestID":"f724074c1b154e87151a213773d01da7"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f724074c1b154e87151a213773d01da7","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f724074c1b154e87151a213773d01da7"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.326293,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f724074c1b154e87151a213773d01da7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f724074c1b154e87151a213773d01da7","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f724074c1b154e87151a213773d01da7"} gateway-1 | {"time_local":"04/Feb/2025:18:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f724074c1b154e87151a213773d01da7"} device-1 | {"level":"info","message":"POST /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/websocket 200 40ms","method":"POST","requestID":"f724074c1b154e87151a213773d01da7","responseTime":40,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64","level":"info","message":"auth send jwt","requestID":"e78b04982aaf3549ba0a5bef60c5c42f"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e78b04982aaf3549ba0a5bef60c5c42f","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e78b04982aaf3549ba0a5bef60c5c42f"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.343049,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e78b04982aaf3549ba0a5bef60c5c42f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e78b04982aaf3549ba0a5bef60c5c42f","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.099810256Z"}]},"request_id":"95a54a5f-9176-4693-9663-5f930de7fc8e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.2456472} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"e78b04982aaf3549ba0a5bef60c5c42f","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e78b04982aaf3549ba0a5bef60c5c42f"} gateway-1 | {"time_local":"04/Feb/2025:18:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e78b04982aaf3549ba0a5bef60c5c42f"} device-1 | {"level":"info","message":"GET /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15? 200 22ms","method":"GET","requestID":"e78b04982aaf3549ba0a5bef60c5c42f","responseTime":22,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64","level":"info","message":"auth send jwt","requestID":"07d4665f82ab5b12cee9089a9007f4eb"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"07d4665f82ab5b12cee9089a9007f4eb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"07d4665f82ab5b12cee9089a9007f4eb"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.314226,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"07d4665f82ab5b12cee9089a9007f4eb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"07d4665f82ab5b12cee9089a9007f4eb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.149984962Z"}]},"request_id":"f5bc8900-4c4f-4bad-84c3-818630f89194","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.2779155} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"07d4665f82ab5b12cee9089a9007f4eb","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"07d4665f82ab5b12cee9089a9007f4eb"} gateway-1 | {"time_local":"04/Feb/2025:18:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f8ae667-4337-4721-b966-e90060c2c4e5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07d4665f82ab5b12cee9089a9007f4eb"} device-1 | {"level":"info","message":"GET /devices/6f8ae667-4337-4721-b966-e90060c2c4e5? 200 22ms","method":"GET","requestID":"07d4665f82ab5b12cee9089a9007f4eb","responseTime":22,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64","level":"info","message":"auth send jwt","requestID":"a7ad82826c41d43072870c8bb14e8790"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a7ad82826c41d43072870c8bb14e8790","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a7ad82826c41d43072870c8bb14e8790"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.592076,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a7ad82826c41d43072870c8bb14e8790","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a7ad82826c41d43072870c8bb14e8790","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Attempting to run experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Attempting to book experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Successfully booked experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c025b840-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0260660-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.13768,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c025b840-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c025b840-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918851,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c0260660-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c0260660-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.099810256Z"}]},"request_id":"6536889e-9aa4-4182-8ffd-bc9589f743bb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.389902} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c025b840-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.149984962Z"}]},"request_id":"ae66bf2d-98db-4e00-8e16-71e1efc315e1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.392413} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c0260660-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c025b840-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15? 200 19ms","method":"GET","requestID":"c025b840-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0260660-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/6f8ae667-4337-4721-b966-e90060c2c4e5? 200 18ms","method":"GET","requestID":"c0260660-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Setting up experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Successfully set up experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0334cd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0339af0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0341020-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.340769,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Successfully running experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c0334cd0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c0334cd0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.712822,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c0339af0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"c0339af0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7ec9ec7-83c3-4764-81c3-c5fd72272003","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.4867246} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.988957,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c0341020-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"c0341020-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0341020-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.099810256Z"}]},"request_id":"b4d8edf1-7795-4c13-afbd-64e01c1c8f47","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.4922416} device-1 | {"level":"info","message":"POST /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling 200 25ms","method":"POST","requestID":"c0341020-e324-11ef-a766-ff4094b4009c","responseTime":25,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","method":"POST","requestID":"c0334cd0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.149984962Z"}]},"request_id":"7d46f81f-5c62-4926-b3e7-848873f41678","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.5003383} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c0339af0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F731209b5-331e-43a7-9637-1e9d5baee8e0#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F731209b5-331e-43a7-9637-1e9d5baee8e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"5dca46ff-fe6a-4fd9-89c8-57f9f8feb8f8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.5076072} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0391930-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc0695e7-40d7-4fc3-bf44-fe70662094aa","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.5084395} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"a7ad82826c41d43072870c8bb14e8790","responseTime":25,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0334cd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15? 200 45ms","method":"GET","requestID":"c0334cd0-e324-11ef-a766-ff4094b4009c","responseTime":45,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15?"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0339af0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/6f8ae667-4337-4721-b966-e90060c2c4e5? 200 46ms","method":"GET","requestID":"c0339af0-e324-11ef-a766-ff4094b4009c","responseTime":46,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c458e73-2c81-413a-b942-8bd859a1a1b0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.5199134} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.397159,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c0391930-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"c0391930-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c03c2670-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a7ad82826c41d43072870c8bb14e8790"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} gateway-1 | {"time_local":"04/Feb/2025:18:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"level":"info","message":"POST /experiments? 201 236ms","method":"POST","requestID":"a7ad82826c41d43072870c8bb14e8790","responseTime":236,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0391930-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling 200 28ms","method":"POST","requestID":"c0391930-e324-11ef-a766-ff4094b4009c","responseTime":28,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9575f76b-f18c-4439-9986-a9c0db9b6205","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.5359297} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.704445,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c03c2670-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"c03c2670-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64","level":"info","message":"auth send jwt","requestID":"a3537a80ef501ab6f7fbe8277b1d1907"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a3537a80ef501ab6f7fbe8277b1d1907","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c03c2670-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling 200 17ms","method":"POST","requestID":"c03c2670-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3537a80ef501ab6f7fbe8277b1d1907"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c03f33b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898309,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a3537a80ef501ab6f7fbe8277b1d1907","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a3537a80ef501ab6f7fbe8277b1d1907","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d557c657-0133-4b72-b5e8-9cee47896d63","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.551549} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.581514,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c03f33b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c03f33b0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.099810256Z"}]},"request_id":"41bcb78c-f9c2-4c8a-acca-b8cf665242f5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.5556598} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c03f33b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling 200 9ms","method":"POST","requestID":"c03f33b0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3537a80ef501ab6f7fbe8277b1d1907","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Building connection plan","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f99e9f01-7e91-42a5-a54b-0baf32cdff63"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"2990d88e-6286-468c-b31e-760daec565d1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e7c61844-19f4-46c7-a372-6b80dea445eb"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a7ad82826c41d43072870c8bb14e8790"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a7ad82826c41d43072870c8bb14e8790"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3537a80ef501ab6f7fbe8277b1d1907"} gateway-1 | {"time_local":"04/Feb/2025:18:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3537a80ef501ab6f7fbe8277b1d1907"} device-1 | {"level":"info","message":"GET /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15? 200 15ms","method":"GET","requestID":"a3537a80ef501ab6f7fbe8277b1d1907","responseTime":15,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c0415690-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.357894,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64","level":"info","message":"auth send jwt","requestID":"0e31482630da2b9fbc162401cafd46bf"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0e31482630da2b9fbc162401cafd46bf","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c0415690-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c0415690-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0e31482630da2b9fbc162401cafd46bf"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935783,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0e31482630da2b9fbc162401cafd46bf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693245,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0NX0.1L9_NlXiuAG1_-kyqUDNj9qx4icHStdQakoLKBYdH64"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0e31482630da2b9fbc162401cafd46bf","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:43.149984962Z"}]},"request_id":"e8baf044-c6e6-42a1-a922-0783fdaa9ad1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.578929} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"0e31482630da2b9fbc162401cafd46bf","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"84518bb3-5079-44e9-8ad4-f8a6b2925ebe","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.5849352} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23a43377-3782-43e5-9ea1-03bfe8cb933e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.585181} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0e31482630da2b9fbc162401cafd46bf"} gateway-1 | {"time_local":"04/Feb/2025:18:20:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f8ae667-4337-4721-b966-e90060c2c4e5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e31482630da2b9fbc162401cafd46bf"} device-1 | {"level":"info","message":"GET /devices/6f8ae667-4337-4721-b966-e90060c2c4e5? 200 18ms","method":"GET","requestID":"0e31482630da2b9fbc162401cafd46bf","responseTime":18,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"c0415690-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c0415690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c0415690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a'","requestID":"c0415690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a'","requestID":"c0415690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c0415690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 45ms","method":"POST","requestID":"c0415690-e324-11ef-a766-ff4094b4009c","responseTime":45,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c0415690-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a7ad82826c41d43072870c8bb14e8790"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c04e9d00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1d4e7fa-d270-499a-a990-bf967137e10f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.6525235} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.629573,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c04e9d00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c04e9d00-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c04e9d00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling 200 9ms","method":"POST","requestID":"c04e9d00-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c05071c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"adfbfe0d-81c0-499b-b84b-493cf11acf12","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693245.6648767} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.607962,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c05071c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c05071c0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c05071c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling 200 10ms","method":"POST","requestID":"c05071c0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling"} device-1 | {"device":"6f8ae667-4337-4721-b966-e90060c2c4e5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8358155699294985703 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:mJtH\r\na=ice-pwd:qcWh6rlmExQXMQePP1Kwt0z3\r\na=ice-options:trickle\r\na=fingerprint:sha-256 6B:EA:86:E7:E6:AA:99:11:A9:FD:CA:5D:CF:BF:35:60:75:77:2C:37:CA:C4:E3:5B:60:BF:65:A8:8E:DA:82:89\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3570152673 1 udp 2113937151 5019d106-9d6a-45fb-8ac7-6af063dc1c46.local 47104 typ host generation 0 ufrag mJtH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"6f8ae667-4337-4721-b966-e90060c2c4e5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6f8ae667-4337-4721-b966-e90060c2c4e5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6f8ae667-4337-4721-b966-e90060c2c4e5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"content":{"candidate":"candidate:4136811116 1 udp 1677729535 141.24.211.56 47104 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag mJtH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6e8d2729ac9ca391fb50da0622277aef","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6e8d2729ac9ca391fb50da0622277aef","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a"}}},"level":"info","message":"received a callback","requestID":"6e8d2729ac9ca391fb50da0622277aef"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"6e8d2729ac9ca391fb50da0622277aef","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e8d2729ac9ca391fb50da0622277aef"} device-1 | {"data":{"peerconnection":"4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6f8ae667-4337-4721-b966-e90060c2c4e5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"6f8ae667-4337-4721-b966-e90060c2c4e5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"432170f0b7bddaa430abc9eed52d2468","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"432170f0b7bddaa430abc9eed52d2468","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a"}}},"level":"info","message":"received a callback","requestID":"432170f0b7bddaa430abc9eed52d2468"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c19a08c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d15009f2-9730-450c-b28a-de254dfd96d2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693247.8277683} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.89687,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c19a08c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c19a08c0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c19a08c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a 200 14ms","method":"GET","requestID":"c19a08c0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"432170f0b7bddaa430abc9eed52d2468","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"432170f0b7bddaa430abc9eed52d2468"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1a04a50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43cbdab8-9986-4066-b1a8-3cb3fd5264cf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693247.8695652} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.796098,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c1a04a50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"c1a04a50-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1a04a50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling 200 17ms","method":"POST","requestID":"c1a04a50-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1a37ea0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d7b2eba-eb05-4fc1-8cd7-bbda1e755286","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693247.8898246} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.190283,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c1a37ea0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"c1a37ea0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0N30.NRVdusSridsC19VJmjErIJlaxbZFaxCCajQw-_nlXvU","level":"info","message":"auth send jwt","requestID":"248b8ef88acc72e067f87e5626f6f02d"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"248b8ef88acc72e067f87e5626f6f02d","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/731209b5-331e-43a7-9637-1e9d5baee8e0","requestID":"248b8ef88acc72e067f87e5626f6f02d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1a37ea0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling 200 19ms","method":"POST","requestID":"c1a37ea0-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.226835,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"248b8ef88acc72e067f87e5626f6f02d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693247,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0N30.NRVdusSridsC19VJmjErIJlaxbZFaxCCajQw-_nlXvU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"248b8ef88acc72e067f87e5626f6f02d","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/731209b5-331e-43a7-9637-1e9d5baee8e0","requestID":"248b8ef88acc72e067f87e5626f6f02d"} gateway-1 | {"time_local":"04/Feb/2025:18:20:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/731209b5-331e-43a7-9637-1e9d5baee8e0 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"248b8ef88acc72e067f87e5626f6f02d"} experiment-1 | {"level":"info","message":"GET /experiments/731209b5-331e-43a7-9637-1e9d5baee8e0 200 23ms","method":"GET","requestID":"248b8ef88acc72e067f87e5626f6f02d","responseTime":23,"status":200,"url":"/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0N30.NRVdusSridsC19VJmjErIJlaxbZFaxCCajQw-_nlXvU","level":"info","message":"auth send jwt","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/731209b5-331e-43a7-9637-1e9d5baee8e0","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.28572,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"9a23da82b8fb8b218e4508cd3ee99b4f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693247,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0N30.NRVdusSridsC19VJmjErIJlaxbZFaxCCajQw-_nlXvU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Attempting to finish experiment","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c1ae2d00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.322055,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c1ae2d00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693247,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0N30.NRVdusSridsC19VJmjErIJlaxbZFaxCCajQw-_nlXvU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c1ae2d00-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","device":"3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"6f8ae667-4337-4721-b966-e90060c2c4e5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6f8ae667-4337-4721-b966-e90060c2c4e5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6f8ae667-4337-4721-b966-e90060c2c4e5","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"009c735e75aaac3311dc189318e81953","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"009c735e75aaac3311dc189318e81953","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4a0c1463-b6d0-4134-b7e6-edcf3e35af9a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"ce028003-4101-4d33-ad34-54ee0867ee97","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693247.986288} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d945c571-ad00-42d4-9116-28305646c7ab","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693247.9867203} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"15749fbf1ac54c2ff522fc9f8fbd612f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"15749fbf1ac54c2ff522fc9f8fbd612f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a"}}},"level":"info","message":"received a callback","requestID":"009c735e75aaac3311dc189318e81953"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"c1ae2d00-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a"}}},"level":"info","message":"received a callback","requestID":"15749fbf1ac54c2ff522fc9f8fbd612f"} device-1 | {"data":{"peerconnection":"4a0c1463-b6d0-4134-b7e6-edcf3e35af9a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c1ae2d00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a 204 64ms","method":"DELETE","requestID":"c1ae2d00-e324-11ef-a766-ff4094b4009c","responseTime":64,"status":204,"url":"/peerconnections/4a0c1463-b6d0-4134-b7e6-edcf3e35af9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"},"level":"info","message":"Successfully finished experiment","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1bc5dd0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"124fd26e-5b1d-45bf-8ccf-c11533b26889","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.0520463} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.710544,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c1bc5dd0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c1bc5dd0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1bc5dd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling 200 14ms","method":"POST","requestID":"c1bc5dd0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F731209b5-331e-43a7-9637-1e9d5baee8e0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F731209b5-331e-43a7-9637-1e9d5baee8e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"1b16dc55-3549-410a-aa44-e245c5fad0ab","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.0622768} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72d38c31-1a41-49ca-82ce-b8d48c6f8b16","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.0627236} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1bf1cf0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f8ae667-4337-4721-b966-e90060c2c4e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dca106c1-4916-41f6-a044-1b30fdf4070a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.0697486} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.720426,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c1bf1cf0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c1bf1cf0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1bf1cf0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling 200 14ms","method":"POST","requestID":"c1bf1cf0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/6f8ae667-4337-4721-b966-e90060c2c4e5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/731209b5-331e-43a7-9637-1e9d5baee8e0","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f"} gateway-1 | {"time_local":"04/Feb/2025:18:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/731209b5-331e-43a7-9637-1e9d5baee8e0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f"} gateway-1 | {"time_local":"04/Feb/2025:18:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"4.350","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"273d404a495fc0c9a16ffdfe31f116a7"} experiment-1 | {"level":"info","message":"DELETE /experiments/731209b5-331e-43a7-9637-1e9d5baee8e0 204 203ms","method":"DELETE","requestID":"9a23da82b8fb8b218e4508cd3ee99b4f","responseTime":203,"status":204,"url":"/experiments/731209b5-331e-43a7-9637-1e9d5baee8e0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"009c735e75aaac3311dc189318e81953","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"009c735e75aaac3311dc189318e81953"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0OH0.pv-GS3yZuGu30i_OGyGb5IZ4HFvjZIFC6h_8R40YU5U","level":"info","message":"auth send jwt","requestID":"e954da30c599177ebe937f4301469f53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"15749fbf1ac54c2ff522fc9f8fbd612f","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"15749fbf1ac54c2ff522fc9f8fbd612f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e954da30c599177ebe937f4301469f53","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.940","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"070c05f4b3af57ab7e28819feb3f4c0c"} device-1 | {"level":"info","message":"postDevices called","requestID":"e954da30c599177ebe937f4301469f53"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6f8ae667-4337-4721-b966-e90060c2c4e5' closed"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.050055,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e954da30c599177ebe937f4301469f53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693248,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0OH0.pv-GS3yZuGu30i_OGyGb5IZ4HFvjZIFC6h_8R40YU5U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e954da30c599177ebe937f4301469f53","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3c5a6943-7be2-42ac-a5c2-f45e4c50ca15' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6384bd1c-33cf-4fe8-841c-a0d96f516ccf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.1702206} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e954da30c599177ebe937f4301469f53","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db8723a7-3890-4192-aa20-6b08609254ba","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.1756248} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e954da30c599177ebe937f4301469f53","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"b5d1f581-d15c-41ec-9648-8d29b52b007b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.1866941} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a2ea49a-13c1-4775-aea4-64611d4e5d25","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.1869617} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e954da30c599177ebe937f4301469f53","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.186676918Z"}]},"request_id":"2fe94ed5-cee4-4ccd-a872-1c7c4872af1e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.1920002} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e954da30c599177ebe937f4301469f53","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e954da30c599177ebe937f4301469f53"} gateway-1 | {"time_local":"04/Feb/2025:18:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e954da30c599177ebe937f4301469f53"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"e954da30c599177ebe937f4301469f53","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0OH0.pv-GS3yZuGu30i_OGyGb5IZ4HFvjZIFC6h_8R40YU5U","level":"info","message":"auth send jwt","requestID":"9883a33bbacaecb805e518d6e0380904"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9883a33bbacaecb805e518d6e0380904","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9883a33bbacaecb805e518d6e0380904"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.989919,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"9883a33bbacaecb805e518d6e0380904","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693248,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0OH0.pv-GS3yZuGu30i_OGyGb5IZ4HFvjZIFC6h_8R40YU5U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9883a33bbacaecb805e518d6e0380904","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"809690e3-cb05-4442-ba90-200ae630d997","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.2175722} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9883a33bbacaecb805e518d6e0380904","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f1393e4-f5fc-43f4-91e4-10ec70928063","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.2230246} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9883a33bbacaecb805e518d6e0380904","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"a70dc238-2e07-4188-97bf-4845833c4165","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.2326002} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ad4fa56-c111-4ce8-a19c-282216186d5c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.2327564} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"9883a33bbacaecb805e518d6e0380904","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.232582597Z"}]},"request_id":"9c8f7ea6-640c-4a44-aa91-783d48f74738","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.2377648} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9883a33bbacaecb805e518d6e0380904","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9883a33bbacaecb805e518d6e0380904"} gateway-1 | {"time_local":"04/Feb/2025:18:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9883a33bbacaecb805e518d6e0380904"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"9883a33bbacaecb805e518d6e0380904","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0OH0.pv-GS3yZuGu30i_OGyGb5IZ4HFvjZIFC6h_8R40YU5U","level":"info","message":"auth send jwt","requestID":"2d340ebb413c33e9e3872e5aa14d4075"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d340ebb413c33e9e3872e5aa14d4075","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2d340ebb413c33e9e3872e5aa14d4075"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687559,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2d340ebb413c33e9e3872e5aa14d4075","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693248,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0OH0.pv-GS3yZuGu30i_OGyGb5IZ4HFvjZIFC6h_8R40YU5U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2d340ebb413c33e9e3872e5aa14d4075","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.186676918Z"}]},"request_id":"6c220d26-4375-41da-8f5b-7423dcafb21e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.718141} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2d340ebb413c33e9e3872e5aa14d4075","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f44a99b6-004b-4b96-92a5-54e94895418c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.7275753} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"2d340ebb413c33e9e3872e5aa14d4075","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.186676918Z"}]},"request_id":"a5740cad-e91b-4c46-ae49-82d86a9e6ef8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693248.749317} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2d340ebb413c33e9e3872e5aa14d4075","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2d340ebb413c33e9e3872e5aa14d4075"} device-1 | {"level":"info","message":"PATCH /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239 200 50ms","method":"PATCH","requestID":"2d340ebb413c33e9e3872e5aa14d4075","responseTime":50,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239"} gateway-1 | {"time_local":"04/Feb/2025:18:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"2d340ebb413c33e9e3872e5aa14d4075"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0OH0.pv-GS3yZuGu30i_OGyGb5IZ4HFvjZIFC6h_8R40YU5U","level":"info","message":"auth send jwt","requestID":"81d302ce60f41df95d2bf5edfd66c7f3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"81d302ce60f41df95d2bf5edfd66c7f3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"81d302ce60f41df95d2bf5edfd66c7f3"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.098703,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"81d302ce60f41df95d2bf5edfd66c7f3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693248,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI0OH0.pv-GS3yZuGu30i_OGyGb5IZ4HFvjZIFC6h_8R40YU5U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"81d302ce60f41df95d2bf5edfd66c7f3","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"81d302ce60f41df95d2bf5edfd66c7f3"} device-1 | {"level":"info","message":"POST /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/websocket 200 23ms","method":"POST","requestID":"81d302ce60f41df95d2bf5edfd66c7f3","responseTime":23,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:20:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"81d302ce60f41df95d2bf5edfd66c7f3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"644de4b724f66050324d0ba708e38237","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"644de4b724f66050324d0ba708e38237","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b914953e-ddf6-40dc-a830-5996cfbc7653/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"644de4b724f66050324d0ba708e38237"} device-1 | {"level":"info","message":"OPTIONS /devices/b914953e-ddf6-40dc-a830-5996cfbc7653/websocket 200 1ms","method":"OPTIONS","requestID":"644de4b724f66050324d0ba708e38237","responseTime":1,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E","level":"info","message":"auth send jwt","requestID":"5cbd89bc69816dee5de78594c47bbaf1"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5cbd89bc69816dee5de78594c47bbaf1","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5cbd89bc69816dee5de78594c47bbaf1"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.329138,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5cbd89bc69816dee5de78594c47bbaf1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"5cbd89bc69816dee5de78594c47bbaf1","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5cbd89bc69816dee5de78594c47bbaf1"} gateway-1 | {"time_local":"04/Feb/2025:18:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b914953e-ddf6-40dc-a830-5996cfbc7653/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5cbd89bc69816dee5de78594c47bbaf1"} device-1 | {"level":"info","message":"POST /devices/b914953e-ddf6-40dc-a830-5996cfbc7653/websocket 200 33ms","method":"POST","requestID":"5cbd89bc69816dee5de78594c47bbaf1","responseTime":33,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E","level":"info","message":"auth send jwt","requestID":"ffafb9562266e7347d8650205ab11d0f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ffafb9562266e7347d8650205ab11d0f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ffafb9562266e7347d8650205ab11d0f"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128244,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ffafb9562266e7347d8650205ab11d0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ffafb9562266e7347d8650205ab11d0f","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.186676918Z"}]},"request_id":"77c10943-aae7-40c5-af6e-a8145b9b05cd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.3400772} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"ffafb9562266e7347d8650205ab11d0f","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ffafb9562266e7347d8650205ab11d0f"} gateway-1 | {"time_local":"04/Feb/2025:18:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffafb9562266e7347d8650205ab11d0f"} device-1 | {"level":"info","message":"GET /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239? 200 22ms","method":"GET","requestID":"ffafb9562266e7347d8650205ab11d0f","responseTime":22,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E","level":"info","message":"auth send jwt","requestID":"174f37abba9848f5804ec8ed302e6640"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"174f37abba9848f5804ec8ed302e6640","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"174f37abba9848f5804ec8ed302e6640"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267794,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"174f37abba9848f5804ec8ed302e6640","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"174f37abba9848f5804ec8ed302e6640","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.232582597Z"}]},"request_id":"b3023c62-08d1-4686-bad0-0bfc9672c5c5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.3694293} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"174f37abba9848f5804ec8ed302e6640","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"174f37abba9848f5804ec8ed302e6640"} gateway-1 | {"time_local":"04/Feb/2025:18:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b914953e-ddf6-40dc-a830-5996cfbc7653? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"174f37abba9848f5804ec8ed302e6640"} device-1 | {"level":"info","message":"GET /devices/b914953e-ddf6-40dc-a830-5996cfbc7653? 200 21ms","method":"GET","requestID":"174f37abba9848f5804ec8ed302e6640","responseTime":21,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E","level":"info","message":"auth send jwt","requestID":"ebeb51135d86f016d260be38069eb008"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ebeb51135d86f016d260be38069eb008","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ebeb51135d86f016d260be38069eb008"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.463725,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ebeb51135d86f016d260be38069eb008","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ebeb51135d86f016d260be38069eb008","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Attempting to run experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Attempting to book experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Successfully booked experiment","requestID":"ebeb51135d86f016d260be38069eb008"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c32c6890-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c32cb6b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.86304,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c32c6890-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c32c6890-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.718672,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c32cb6b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c32cb6b0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.186676918Z"}]},"request_id":"e5e33022-070b-438c-9048-938ef0edd594","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.4744792} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c32c6890-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.232582597Z"}]},"request_id":"4b8202e3-d849-4045-a3f6-260a214c1d1c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.476305} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c32cb6b0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c32c6890-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239? 200 28ms","method":"GET","requestID":"c32c6890-e324-11ef-a766-ff4094b4009c","responseTime":28,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c32cb6b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/b914953e-ddf6-40dc-a830-5996cfbc7653? 200 29ms","method":"GET","requestID":"c32cb6b0-e324-11ef-a766-ff4094b4009c","responseTime":29,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Setting up experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Successfully set up experiment","requestID":"ebeb51135d86f016d260be38069eb008"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c33c4710-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c33c9530-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c33cbc40-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Successfully running experiment","requestID":"ebeb51135d86f016d260be38069eb008"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933501,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c33c4710-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c33c4710-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66852,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c33c9530-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c33c9530-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.830306,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1786725d-a208-4086-9d38-32bfdb342f14","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.5717845} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c33cbc40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c33cbc40-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c33cbc40-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling 200 14ms","method":"POST","requestID":"c33cbc40-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.232582597Z"}]},"request_id":"7036f333-0d38-4661-8a32-52ca6fb7f2a3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.5775125} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c33c9530-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.186676918Z"}]},"request_id":"84511ba1-f31d-4f92-80c1-2fbd548c6582","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.5788288} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c33c4710-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c33f5450-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c33c9530-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/b914953e-ddf6-40dc-a830-5996cfbc7653? 200 23ms","method":"GET","requestID":"c33c9530-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c33c4710-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F716786df-325d-491b-8b81-b3d2740d7c21#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F716786df-325d-491b-8b81-b3d2740d7c21","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"723ef7c4-c544-43b9-a385-62a5368a0a1f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.5855026} device-1 | {"level":"info","message":"GET /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239? 200 27ms","method":"GET","requestID":"c33c4710-e324-11ef-a766-ff4094b4009c","responseTime":27,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8ed0a59-06b4-40b6-8931-f0d5c0678e63","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.5857532} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c340daf0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"ebeb51135d86f016d260be38069eb008","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.296711,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95497375-fb65-4a1e-9af0-14e94a786142","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.5897233} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c33f5450-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c33f5450-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c33f5450-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ebeb51135d86f016d260be38069eb008"} device-1 | {"level":"info","message":"POST /devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling 200 16ms","method":"POST","requestID":"c33f5450-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79d61356-4fcd-4e99-8793-25ceb1425970","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.5979912} gateway-1 | {"time_local":"04/Feb/2025:18:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.220","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"level":"info","message":"POST /experiments? 201 213ms","method":"POST","requestID":"ebeb51135d86f016d260be38069eb008","responseTime":213,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.844769,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c340daf0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c340daf0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c340daf0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling 200 11ms","method":"POST","requestID":"c340daf0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E","level":"info","message":"auth send jwt","requestID":"d6772a89c906b41ffb25ba97622af8d6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d6772a89c906b41ffb25ba97622af8d6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d6772a89c906b41ffb25ba97622af8d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c34324e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609492,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d6772a89c906b41ffb25ba97622af8d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d6772a89c906b41ffb25ba97622af8d6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4175557-7175-4d6e-ae30-d260e3ac78d5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.6106672} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.550607,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c34324e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c34324e0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.186676918Z"}]},"request_id":"60d3bcf6-1fc7-4ca3-af40-1b905d7eef49","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.614641} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c34324e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling 200 9ms","method":"POST","requestID":"c34324e0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d6772a89c906b41ffb25ba97622af8d6","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Building connection plan","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"4b9502db-c352-4c7b-9b2c-a3e7dddcd689"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3c2b32c4-5545-4afe-b022-8018aeb7d513"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0e02a086-5a55-4657-a390-92ed97e7e69a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ebeb51135d86f016d260be38069eb008"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ebeb51135d86f016d260be38069eb008"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d6772a89c906b41ffb25ba97622af8d6"} gateway-1 | {"time_local":"04/Feb/2025:18:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6772a89c906b41ffb25ba97622af8d6"} device-1 | {"level":"info","message":"GET /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239? 200 17ms","method":"GET","requestID":"d6772a89c906b41ffb25ba97622af8d6","responseTime":17,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239?"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.747316,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c34520b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E","level":"info","message":"auth send jwt","requestID":"899728c4bafd17af275916f8cc2c1f0b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"899728c4bafd17af275916f8cc2c1f0b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"899728c4bafd17af275916f8cc2c1f0b"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703752,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"899728c4bafd17af275916f8cc2c1f0b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693250,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1MH0.e4mNQxWCiW8kTG58YLfMImESMYiliB6EgkZYj17KO6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"899728c4bafd17af275916f8cc2c1f0b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:48.232582597Z"}]},"request_id":"db0146a2-d4e0-4abe-bee2-ac603f898101","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.635296} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"899728c4bafd17af275916f8cc2c1f0b","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"8784f17d-edbc-4fa5-9823-4fd82f8776c0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.6365047} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3d9ebe3-05aa-4b47-9455-cd01959ffa37","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.6368074} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"899728c4bafd17af275916f8cc2c1f0b"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"04/Feb/2025:18:20:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b914953e-ddf6-40dc-a830-5996cfbc7653? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"899728c4bafd17af275916f8cc2c1f0b"} device-1 | {"level":"info","message":"GET /devices/b914953e-ddf6-40dc-a830-5996cfbc7653? 200 13ms","method":"GET","requestID":"899728c4bafd17af275916f8cc2c1f0b","responseTime":13,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e'","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e'","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c34520b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e","device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ebeb51135d86f016d260be38069eb008"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c34fa800-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"443ff610-85b7-453d-bd85-5975ff29798c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.6930013} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.403679,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c34fa800-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c34fa800-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"canTrickle":true},"device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 6847199543254053900 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:kF+j\r\na=ice-pwd:/UgProQW5RnL5HmkYuwm+s0H\r\na=ice-options:trickle\r\na=fingerprint:sha-256 20:AF:C5:4F:19:EA:A9:25:9A:91:CF:15:C5:A0:CB:4D:60:F5:8E:B1:54:93:5B:E4:F3:E6:BE:74:81:DF:A2:C4\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c34fa800-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling 200 14ms","method":"POST","requestID":"c34fa800-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3524010-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9626430-c38e-4277-b01b-757551e99158","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693250.7099748} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.972863,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c3524010-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3524010-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3524010-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling 200 10ms","method":"POST","requestID":"c3524010-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling"} device-1 | {"device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d2ec25b4-98a1-4a6c-8160-36bd72495e1e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d2ec25b4-98a1-4a6c-8160-36bd72495e1e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5203f9f6549166b4cb2bd3452c729aeb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5203f9f6549166b4cb2bd3452c729aeb","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e"}}},"level":"info","message":"received a callback","requestID":"5203f9f6549166b4cb2bd3452c729aeb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"5203f9f6549166b4cb2bd3452c729aeb","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"5203f9f6549166b4cb2bd3452c729aeb"} device-1 | {"content":{"candidate":"candidate:116881405 1 udp 2113937151 9492dbd8-3cbe-4489-86cf-a88cad89908f.local 39997 typ host generation 0 ufrag kF+j network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2195332482 1 udp 1677729535 141.24.211.56 39997 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag kF+j network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3520569865 1 udp 33562623 141.24.210.113 60527 typ relay raddr 141.24.211.56 rport 39997 generation 0 ufrag kF+j network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653'"} device-1 | {"data":{"peerconnection":"d2ec25b4-98a1-4a6c-8160-36bd72495e1e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d2ec25b4-98a1-4a6c-8160-36bd72495e1e","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d2ec25b4-98a1-4a6c-8160-36bd72495e1e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"24cce9f4779687e529b3292043ed4844","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"24cce9f4779687e529b3292043ed4844","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e"}}},"level":"info","message":"received a callback","requestID":"24cce9f4779687e529b3292043ed4844"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c48f05d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd2ec25b4-98a1-4a6c-8160-36bd72495e1e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2319bff-4a81-48b6-99e4-0c2ad68cdb92","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693252.7877574} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.073958,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c48f05d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c48f05d0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c48f05d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e 200 12ms","method":"GET","requestID":"c48f05d0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"24cce9f4779687e529b3292043ed4844","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"24cce9f4779687e529b3292043ed4844"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c494ab20-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4eb4a001-5035-48f9-8d76-4455f941007e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693252.824112} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.677657,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c494ab20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c494ab20-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c494ab20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling 200 13ms","method":"POST","requestID":"c494ab20-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4971c20-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1285ebb-1667-4ff8-871d-3f85349703f4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693252.8407047} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.693809,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c4971c20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c4971c20-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1Mn0.Islza3Ka6f-1hlnMBZaeSNdbx6l07Np8DKn66Ir5vJ0","level":"info","message":"auth send jwt","requestID":"1113674fa4d57947b3efdaa78d89434c"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1113674fa4d57947b3efdaa78d89434c","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/716786df-325d-491b-8b81-b3d2740d7c21","requestID":"1113674fa4d57947b3efdaa78d89434c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4971c20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling 200 16ms","method":"POST","requestID":"c4971c20-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.248885,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1113674fa4d57947b3efdaa78d89434c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693252,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1Mn0.Islza3Ka6f-1hlnMBZaeSNdbx6l07Np8DKn66Ir5vJ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"1113674fa4d57947b3efdaa78d89434c","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/716786df-325d-491b-8b81-b3d2740d7c21","requestID":"1113674fa4d57947b3efdaa78d89434c"} gateway-1 | {"time_local":"04/Feb/2025:18:20:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/716786df-325d-491b-8b81-b3d2740d7c21 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1113674fa4d57947b3efdaa78d89434c"} experiment-1 | {"level":"info","message":"GET /experiments/716786df-325d-491b-8b81-b3d2740d7c21 200 21ms","method":"GET","requestID":"1113674fa4d57947b3efdaa78d89434c","responseTime":21,"status":200,"url":"/experiments/716786df-325d-491b-8b81-b3d2740d7c21"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1Mn0.Islza3Ka6f-1hlnMBZaeSNdbx6l07Np8DKn66Ir5vJ0","level":"info","message":"auth send jwt","requestID":"8850dac9eb89619431add1b41fceece0"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8850dac9eb89619431add1b41fceece0","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/716786df-325d-491b-8b81-b3d2740d7c21","requestID":"8850dac9eb89619431add1b41fceece0"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.219149,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8850dac9eb89619431add1b41fceece0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693252,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1Mn0.Islza3Ka6f-1hlnMBZaeSNdbx6l07Np8DKn66Ir5vJ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8850dac9eb89619431add1b41fceece0","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Attempting to finish experiment","requestID":"8850dac9eb89619431add1b41fceece0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c4a15550-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.216868,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c4a15550-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693252,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1Mn0.Islza3Ka6f-1hlnMBZaeSNdbx6l07Np8DKn66Ir5vJ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c4a15550-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e","device":"b914953e-ddf6-40dc-a830-5996cfbc7653","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ef1f55f3-ee61-40c4-9f22-2b4dac945239","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d2ec25b4-98a1-4a6c-8160-36bd72495e1e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"439dcf252bf8a0e8c9e1e9250e3f45ef","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd2ec25b4-98a1-4a6c-8160-36bd72495e1e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd2ec25b4-98a1-4a6c-8160-36bd72495e1e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"ab84c118-2ffe-46f2-86d5-8f246e518ec0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693252.936096} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"439dcf252bf8a0e8c9e1e9250e3f45ef","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"88cf8c9af567318e643d086df55821ae","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"757a3b3c-9206-4276-8928-8baf300052f6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693252.9367332} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e"}}},"level":"info","message":"received a callback","requestID":"439dcf252bf8a0e8c9e1e9250e3f45ef"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"88cf8c9af567318e643d086df55821ae","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e"}}},"level":"info","message":"received a callback","requestID":"88cf8c9af567318e643d086df55821ae"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"c4a15550-e324-11ef-a766-ff4094b4009c","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"d2ec25b4-98a1-4a6c-8160-36bd72495e1e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c4a15550-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e 204 169ms","method":"DELETE","requestID":"c4a15550-e324-11ef-a766-ff4094b4009c","responseTime":169,"status":204,"url":"/peerconnections/d2ec25b4-98a1-4a6c-8160-36bd72495e1e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/716786df-325d-491b-8b81-b3d2740d7c21"},"level":"info","message":"Successfully finished experiment","requestID":"8850dac9eb89619431add1b41fceece0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4ca8830-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:53Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef1f55f3-ee61-40c4-9f22-2b4dac945239","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"831b32dc-9f54-45cd-bfc8-bc98bd1246b4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693253.1791964} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.109416,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c4ca8830-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c4ca8830-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4ca8830-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling 200 17ms","method":"POST","requestID":"c4ca8830-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c4cdbc80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:53Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb914953e-ddf6-40dc-a830-5996cfbc7653","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fdcf78b-4d71-45f1-9c12-c6df6490d119","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693253.2002783} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.12362,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c4cdbc80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c4cdbc80-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c4cdbc80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling 200 20ms","method":"POST","requestID":"c4cdbc80-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/devices/b914953e-ddf6-40dc-a830-5996cfbc7653/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F716786df-325d-491b-8b81-b3d2740d7c21': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F716786df-325d-491b-8b81-b3d2740d7c21","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"01565b08-b9ff-425b-a38f-14b86adb89cc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693253.231086} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab7aac01-be70-4e5c-a4ce-7c486f3edcba","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693253.2316577} authorization-1 | {"level":"info","message":"POST /relations/update 200 67ms","method":"POST","requestID":"8850dac9eb89619431add1b41fceece0","responseTime":67,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/716786df-325d-491b-8b81-b3d2740d7c21","requestID":"8850dac9eb89619431add1b41fceece0"} gateway-1 | {"time_local":"04/Feb/2025:18:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/716786df-325d-491b-8b81-b3d2740d7c21 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.800","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8850dac9eb89619431add1b41fceece0"} gateway-1 | {"time_local":"04/Feb/2025:18:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2990","request_time":"4.894","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"7399881f635e4e729571f83b823b061a"} experiment-1 | {"level":"info","message":"DELETE /experiments/716786df-325d-491b-8b81-b3d2740d7c21 204 796ms","method":"DELETE","requestID":"8850dac9eb89619431add1b41fceece0","responseTime":796,"status":204,"url":"/experiments/716786df-325d-491b-8b81-b3d2740d7c21"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1M30.BCCVIVoNnoC_z5UY2pj2ZfrVs1waWNMJFvVgFwsx6kI","level":"info","message":"auth send jwt","requestID":"c0e38206bfb42f541b26bec2b76c7fc1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 743ms","method":"POST","requestID":"439dcf252bf8a0e8c9e1e9250e3f45ef","responseTime":743,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.749","http_referrer":"","http_user_agent":"node-fetch","requestID":"439dcf252bf8a0e8c9e1e9250e3f45ef"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c0e38206bfb42f541b26bec2b76c7fc1","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 744ms","method":"POST","requestID":"88cf8c9af567318e643d086df55821ae","responseTime":744,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"c0e38206bfb42f541b26bec2b76c7fc1"} gateway-1 | {"time_local":"04/Feb/2025:18:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.754","http_referrer":"","http_user_agent":"node-fetch","requestID":"88cf8c9af567318e643d086df55821ae"} gateway-1 | {"time_local":"04/Feb/2025:18:20:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"3.388","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"78c2379b6194c64788f6a10f601047ff"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:53Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.885338,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c0e38206bfb42f541b26bec2b76c7fc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693253,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1M30.BCCVIVoNnoC_z5UY2pj2ZfrVs1waWNMJFvVgFwsx6kI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c0e38206bfb42f541b26bec2b76c7fc1","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ef1f55f3-ee61-40c4-9f22-2b4dac945239' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"25957a00-5b07-42ec-8c6c-0496217c59a1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693253.8596742} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c0e38206bfb42f541b26bec2b76c7fc1","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36adcd9f-231c-46cf-b8ca-8f659f290f8c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693253.8683255} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c0e38206bfb42f541b26bec2b76c7fc1","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b914953e-ddf6-40dc-a830-5996cfbc7653' closed"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"91bd6ecc-8dd3-4fca-b553-f4d83e31f4c9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.0073378} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13412073-ce73-45c0-9b9a-a74d9c82274f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.0081315} authorization-1 | {"level":"info","message":"POST /relations/update 200 144ms","method":"POST","requestID":"c0e38206bfb42f541b26bec2b76c7fc1","responseTime":144,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.007319334Z"}]},"request_id":"4693f13a-6f61-4ccb-984d-42db877eb8d7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.017574} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c0e38206bfb42f541b26bec2b76c7fc1","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c0e38206bfb42f541b26bec2b76c7fc1"} device-1 | {"level":"info","message":"POST /devices? 201 336ms","method":"POST","requestID":"c0e38206bfb42f541b26bec2b76c7fc1","responseTime":336,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.344","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0e38206bfb42f541b26bec2b76c7fc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk","level":"info","message":"auth send jwt","requestID":"89159813d1ef816b103985ec4ab06f8e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"89159813d1ef816b103985ec4ab06f8e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"89159813d1ef816b103985ec4ab06f8e"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.336792,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"89159813d1ef816b103985ec4ab06f8e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"89159813d1ef816b103985ec4ab06f8e","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"95f57b77-0d5e-4246-9224-7fa4a21820c5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.0990949} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"89159813d1ef816b103985ec4ab06f8e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b428cb5-c567-4af7-807c-2e863f9655eb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.10837} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"89159813d1ef816b103985ec4ab06f8e","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"689c306e-e172-4da0-a5b9-eb92900a2e69","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.147506} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"918227dc-62ec-4bd0-9a97-727ac42e6606","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.1481242} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"89159813d1ef816b103985ec4ab06f8e","responseTime":44,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.147480546Z"}]},"request_id":"aa16072e-fc97-4856-b57d-dc5c1f69cc8b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.156947} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"89159813d1ef816b103985ec4ab06f8e","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"89159813d1ef816b103985ec4ab06f8e"} gateway-1 | {"time_local":"04/Feb/2025:18:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89159813d1ef816b103985ec4ab06f8e"} device-1 | {"level":"info","message":"POST /devices? 201 131ms","method":"POST","requestID":"89159813d1ef816b103985ec4ab06f8e","responseTime":131,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk","level":"info","message":"auth send jwt","requestID":"0ac02bd1530cce3e54fd947d2fb58410"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0ac02bd1530cce3e54fd947d2fb58410","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0ac02bd1530cce3e54fd947d2fb58410"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677883,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0ac02bd1530cce3e54fd947d2fb58410","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0ac02bd1530cce3e54fd947d2fb58410","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.147480546Z"}]},"request_id":"d4d4d8fb-5880-481a-be1f-a33b1de03d67","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.6624582} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0ac02bd1530cce3e54fd947d2fb58410","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cba2f3d4-9f8d-4dda-868f-5d02e7b1dc0a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.6677852} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0ac02bd1530cce3e54fd947d2fb58410","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.147480546Z"}]},"request_id":"e0e8d5fd-7e47-4d37-b89d-98b89da6f089","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.7038758} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0ac02bd1530cce3e54fd947d2fb58410","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0ac02bd1530cce3e54fd947d2fb58410"} device-1 | {"level":"info","message":"PATCH /devices/7a22d599-5b24-411c-9d55-d2d11e274081 200 54ms","method":"PATCH","requestID":"0ac02bd1530cce3e54fd947d2fb58410","responseTime":54,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081"} gateway-1 | {"time_local":"04/Feb/2025:18:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7a22d599-5b24-411c-9d55-d2d11e274081 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"0ac02bd1530cce3e54fd947d2fb58410"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk","level":"info","message":"auth send jwt","requestID":"042f72d20cde1af7f6707ddb9fd31120"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"042f72d20cde1af7f6707ddb9fd31120","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"042f72d20cde1af7f6707ddb9fd31120"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909062,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"042f72d20cde1af7f6707ddb9fd31120","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"042f72d20cde1af7f6707ddb9fd31120","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"042f72d20cde1af7f6707ddb9fd31120"} gateway-1 | {"time_local":"04/Feb/2025:18:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7a22d599-5b24-411c-9d55-d2d11e274081/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"042f72d20cde1af7f6707ddb9fd31120"} device-1 | {"level":"info","message":"POST /devices/7a22d599-5b24-411c-9d55-d2d11e274081/websocket 200 15ms","method":"POST","requestID":"042f72d20cde1af7f6707ddb9fd31120","responseTime":15,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk","level":"info","message":"auth send jwt","requestID":"53a56df8f96dc5a7b83896fa73813686"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53a56df8f96dc5a7b83896fa73813686","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"53a56df8f96dc5a7b83896fa73813686"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.287964,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"53a56df8f96dc5a7b83896fa73813686","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"53a56df8f96dc5a7b83896fa73813686","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.007319334Z"}]},"request_id":"219897d4-baae-4e4e-baa9-5ee7ca69108d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.752021} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53a56df8f96dc5a7b83896fa73813686","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ccbc871a-e723-4384-b8a6-a00ed8c6ef9a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.7587724} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"53a56df8f96dc5a7b83896fa73813686","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.007319334Z"}]},"request_id":"df9f275e-b802-4c7c-87c8-1ecf1181c47b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.7693603} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53a56df8f96dc5a7b83896fa73813686","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"53a56df8f96dc5a7b83896fa73813686"} gateway-1 | {"time_local":"04/Feb/2025:18:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/33e8eecd-f005-4648-95b3-d314c9da45be HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"53a56df8f96dc5a7b83896fa73813686"} device-1 | {"level":"info","message":"PATCH /devices/33e8eecd-f005-4648-95b3-d314c9da45be 200 32ms","method":"PATCH","requestID":"53a56df8f96dc5a7b83896fa73813686","responseTime":32,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk","level":"info","message":"auth send jwt","requestID":"bf929b7ead85dd06a9e5206c440fe3ca"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bf929b7ead85dd06a9e5206c440fe3ca","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bf929b7ead85dd06a9e5206c440fe3ca"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715495,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bf929b7ead85dd06a9e5206c440fe3ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bf929b7ead85dd06a9e5206c440fe3ca","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bf929b7ead85dd06a9e5206c440fe3ca"} gateway-1 | {"time_local":"04/Feb/2025:18:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/33e8eecd-f005-4648-95b3-d314c9da45be/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"bf929b7ead85dd06a9e5206c440fe3ca"} device-1 | {"level":"info","message":"POST /devices/33e8eecd-f005-4648-95b3-d314c9da45be/websocket 200 25ms","method":"POST","requestID":"bf929b7ead85dd06a9e5206c440fe3ca","responseTime":25,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk","level":"info","message":"auth send jwt","requestID":"1cbf834211a528cee6b91700b68ae667"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1cbf834211a528cee6b91700b68ae667","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1cbf834211a528cee6b91700b68ae667"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660142,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1cbf834211a528cee6b91700b68ae667","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1cbf834211a528cee6b91700b68ae667","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.007319334Z"}]},"request_id":"526c4183-81de-4f0b-b33d-06c35072aeb5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.832818} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1cbf834211a528cee6b91700b68ae667","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1cbf834211a528cee6b91700b68ae667"} gateway-1 | {"time_local":"04/Feb/2025:18:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33e8eecd-f005-4648-95b3-d314c9da45be? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1cbf834211a528cee6b91700b68ae667"} device-1 | {"level":"info","message":"GET /devices/33e8eecd-f005-4648-95b3-d314c9da45be? 200 15ms","method":"GET","requestID":"1cbf834211a528cee6b91700b68ae667","responseTime":15,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk","level":"info","message":"auth send jwt","requestID":"7559d20557c3b24cae6932e0c9bc4a7c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7559d20557c3b24cae6932e0c9bc4a7c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7559d20557c3b24cae6932e0c9bc4a7c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712452,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"7559d20557c3b24cae6932e0c9bc4a7c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7559d20557c3b24cae6932e0c9bc4a7c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.147480546Z"}]},"request_id":"d83e917c-b447-4fe6-b4a1-abb1e97a48c3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.8542552} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7559d20557c3b24cae6932e0c9bc4a7c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7559d20557c3b24cae6932e0c9bc4a7c"} gateway-1 | {"time_local":"04/Feb/2025:18:20:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a22d599-5b24-411c-9d55-d2d11e274081? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7559d20557c3b24cae6932e0c9bc4a7c"} device-1 | {"level":"info","message":"GET /devices/7a22d599-5b24-411c-9d55-d2d11e274081? 200 16ms","method":"GET","requestID":"7559d20557c3b24cae6932e0c9bc4a7c","responseTime":16,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk","level":"info","message":"auth send jwt","requestID":"ab38dd294ac9e69820011d33f0317260"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ab38dd294ac9e69820011d33f0317260","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ab38dd294ac9e69820011d33f0317260"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.759542,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ab38dd294ac9e69820011d33f0317260","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ab38dd294ac9e69820011d33f0317260","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Attempting to run experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Attempting to book experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Successfully booked experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5d5ddb0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5d62bd0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.622596,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5d5ddb0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c5d5ddb0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875965,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5d62bd0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c5d62bd0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.007319334Z"}]},"request_id":"e203ce24-954e-403d-8118-5cb041192e74","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.933718} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c5d5ddb0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.147480546Z"}]},"request_id":"5a5d069f-42e9-40c1-b35c-b946b0899e99","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693254.934647} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c5d62bd0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5d5ddb0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/33e8eecd-f005-4648-95b3-d314c9da45be? 200 18ms","method":"GET","requestID":"c5d5ddb0-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5d62bd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/7a22d599-5b24-411c-9d55-d2d11e274081? 200 17ms","method":"GET","requestID":"c5d62bd0-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Setting up experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Successfully set up experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5e1eba0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5e239c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5e287e0-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Successfully running experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649261,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5e1eba0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c5e1eba0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743168,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5e239c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c5e239c0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.692811,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4baa4340-664e-4b94-b774-691665827533","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.013746} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5e287e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c5e287e0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5e287e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling 200 14ms","method":"POST","requestID":"c5e287e0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.007319334Z"}]},"request_id":"bc8f8ed7-b100-42b2-8ef6-846f15f38f7f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.0195725} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c5e1eba0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.147480546Z"}]},"request_id":"338b101d-ca91-49ff-8440-7ee316af687c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.021315} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c5e239c0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5e54700-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdb5e69fc-2ef2-47ab-89ab-888212c5390c#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdb5e69fc-2ef2-47ab-89ab-888212c5390c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"ca791a94-0508-46b9-ab24-6e517ff122ee","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.0254338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06693ec6-5682-461a-8891-a58c17bfb5bd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.0255375} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5e1eba0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"ab38dd294ac9e69820011d33f0317260","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/33e8eecd-f005-4648-95b3-d314c9da45be? 200 27ms","method":"GET","requestID":"c5e1eba0-e324-11ef-a766-ff4094b4009c","responseTime":27,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be?"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa6b9997-84be-43b8-acec-2e76d5637374","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.0297143} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5e239c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/7a22d599-5b24-411c-9d55-d2d11e274081? 200 26ms","method":"GET","requestID":"c5e239c0-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081?"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.018859,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5e54700-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c5e54700-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5e54700-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling 200 11ms","method":"POST","requestID":"c5e54700-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5e71bc0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ab38dd294ac9e69820011d33f0317260"} gateway-1 | {"time_local":"04/Feb/2025:18:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"level":"info","message":"POST /experiments? 201 175ms","method":"POST","requestID":"ab38dd294ac9e69820011d33f0317260","responseTime":175,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a1e4905-11c0-439a-bc74-fa30aace4c52","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.041436} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.598231,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5e71bc0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c5e71bc0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5e71bc0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NX0.uC9FjJtrprqH0RwH9PGEYrim56OreAZZGjTFUEAP-S8","level":"info","message":"auth send jwt","requestID":"1967daa32b53afd25c10f73460b63bcf"} device-1 | {"level":"info","message":"POST /devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling 200 11ms","method":"POST","requestID":"c5e71bc0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1967daa32b53afd25c10f73460b63bcf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1967daa32b53afd25c10f73460b63bcf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5e91790-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919316,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1967daa32b53afd25c10f73460b63bcf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693255,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NX0.uC9FjJtrprqH0RwH9PGEYrim56OreAZZGjTFUEAP-S8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1967daa32b53afd25c10f73460b63bcf","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95c33eed-9913-4fb7-940f-0746a1e48097","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.053602} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.079745,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5e91790-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c5e91790-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.007319334Z"}]},"request_id":"5d75de07-9909-426e-ab71-b5cb618ca3f8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.0574534} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5e91790-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling 200 9ms","method":"POST","requestID":"c5e91790-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1967daa32b53afd25c10f73460b63bcf","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Building connection plan","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"aae0e6e5-896c-4e0f-ae42-282ce36852d9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"47df946a-e5f3-4282-959a-e482e94437b6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1e330f7b-773d-4bf6-8504-28306ac2d1e7"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ab38dd294ac9e69820011d33f0317260"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ab38dd294ac9e69820011d33f0317260"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1967daa32b53afd25c10f73460b63bcf"} gateway-1 | {"time_local":"04/Feb/2025:18:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33e8eecd-f005-4648-95b3-d314c9da45be? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1967daa32b53afd25c10f73460b63bcf"} device-1 | {"level":"info","message":"GET /devices/33e8eecd-f005-4648-95b3-d314c9da45be? 200 15ms","method":"GET","requestID":"1967daa32b53afd25c10f73460b63bcf","responseTime":15,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be?"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.824961,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693254,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NH0.qd22ErF6Klt7pgGzaCD4nxkfnVE-iBGP4EKkvzb02Mk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NX0.uC9FjJtrprqH0RwH9PGEYrim56OreAZZGjTFUEAP-S8","level":"info","message":"auth send jwt","requestID":"b0a6559d6c7905621c65c6fcfdf8496f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b0a6559d6c7905621c65c6fcfdf8496f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b0a6559d6c7905621c65c6fcfdf8496f"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699207,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b0a6559d6c7905621c65c6fcfdf8496f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693255,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1NX0.uC9FjJtrprqH0RwH9PGEYrim56OreAZZGjTFUEAP-S8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b0a6559d6c7905621c65c6fcfdf8496f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:54.147480546Z"}]},"request_id":"f1fa82c1-96fd-4975-b2bd-7b004dff1457","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.077093} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b0a6559d6c7905621c65c6fcfdf8496f","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"8a9ecae1-2c21-409a-8c66-16b29452f7de","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.07833} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"050c42e3-692f-4ea6-afeb-71dd70911b8d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.0786576} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b0a6559d6c7905621c65c6fcfdf8496f"} gateway-1 | {"time_local":"04/Feb/2025:18:20:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a22d599-5b24-411c-9d55-d2d11e274081? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0a6559d6c7905621c65c6fcfdf8496f"} device-1 | {"level":"info","message":"GET /devices/7a22d599-5b24-411c-9d55-d2d11e274081? 200 14ms","method":"GET","requestID":"b0a6559d6c7905621c65c6fcfdf8496f","responseTime":14,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5'","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5'","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c5eaec50-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ab38dd294ac9e69820011d33f0317260"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5f8f610-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86b19762-cf37-4944-a08b-a4da9333aef8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.157992} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.861522,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5f8f610-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c5f8f610-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5f8f610-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling 200 10ms","method":"POST","requestID":"c5f8f610-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5facad0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebf3484b-a48f-487e-8773-ba282e79224a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693255.170884} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.928714,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c5facad0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c5facad0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5facad0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling 200 11ms","method":"POST","requestID":"c5facad0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling"} device-1 | {"device":"7a22d599-5b24-411c-9d55-d2d11e274081","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"be2fceff-3e42-493c-b2dc-af58566adca5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"be2fceff-3e42-493c-b2dc-af58566adca5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"be2fceff-3e42-493c-b2dc-af58566adca5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b7df2fac7e9fcbf8a2c5583d75856f2a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b7df2fac7e9fcbf8a2c5583d75856f2a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5"}}},"level":"info","message":"received a callback","requestID":"b7df2fac7e9fcbf8a2c5583d75856f2a"} device-1 | {"device":"7a22d599-5b24-411c-9d55-d2d11e274081","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a22d599-5b24-411c-9d55-d2d11e274081","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"b7df2fac7e9fcbf8a2c5583d75856f2a","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7df2fac7e9fcbf8a2c5583d75856f2a"} device-1 | {"device":"7a22d599-5b24-411c-9d55-d2d11e274081","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a22d599-5b24-411c-9d55-d2d11e274081","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"be2fceff-3e42-493c-b2dc-af58566adca5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7a22d599-5b24-411c-9d55-d2d11e274081","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"be2fceff-3e42-493c-b2dc-af58566adca5","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"be2fceff-3e42-493c-b2dc-af58566adca5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"db15fa52d2db46f02a5bba5fc03388a6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"db15fa52d2db46f02a5bba5fc03388a6","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5"}}},"level":"info","message":"received a callback","requestID":"db15fa52d2db46f02a5bba5fc03388a6"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c7391730-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbe2fceff-3e42-493c-b2dc-af58566adca5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09a630e2-553f-444d-8f3a-c6d66aaf63e8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.2575777} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.148415,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c7391730-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c7391730-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c7391730-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5 200 11ms","method":"GET","requestID":"c7391730-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"db15fa52d2db46f02a5bba5fc03388a6","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"db15fa52d2db46f02a5bba5fc03388a6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c73f0aa0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ffbab27-adfd-495c-ba33-6a8556cf7ec9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.2950077} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.262679,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c73f0aa0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c73f0aa0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c73f0aa0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling 200 10ms","method":"POST","requestID":"c73f0aa0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7410670-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e801719-da01-49b1-9dd7-89c7a22dbaf6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.3098044} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.865563,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c7410670-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c7410670-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7410670-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling 200 12ms","method":"POST","requestID":"c7410670-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"e4b450d778f8c7a89c16f6529710fdee"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4b450d778f8c7a89c16f6529710fdee","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c","requestID":"e4b450d778f8c7a89c16f6529710fdee"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.789467,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e4b450d778f8c7a89c16f6529710fdee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e4b450d778f8c7a89c16f6529710fdee","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c","requestID":"e4b450d778f8c7a89c16f6529710fdee"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4b450d778f8c7a89c16f6529710fdee"} experiment-1 | {"level":"info","message":"GET /experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c 200 12ms","method":"GET","requestID":"e4b450d778f8c7a89c16f6529710fdee","responseTime":12,"status":200,"url":"/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"8d09a66643151b5a62204b84c5e089b2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8d09a66643151b5a62204b84c5e089b2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c","requestID":"8d09a66643151b5a62204b84c5e089b2"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.056352,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8d09a66643151b5a62204b84c5e089b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8d09a66643151b5a62204b84c5e089b2","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Attempting to finish experiment","requestID":"8d09a66643151b5a62204b84c5e089b2"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c7491cc0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.268349,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c7491cc0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c7491cc0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"33e8eecd-f005-4648-95b3-d314c9da45be","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a22d599-5b24-411c-9d55-d2d11e274081","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a22d599-5b24-411c-9d55-d2d11e274081","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a22d599-5b24-411c-9d55-d2d11e274081","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"be2fceff-3e42-493c-b2dc-af58566adca5","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbe2fceff-3e42-493c-b2dc-af58566adca5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbe2fceff-3e42-493c-b2dc-af58566adca5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"beec2c5d-f2df-4134-9212-66ee49499101","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.3862631} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"551f25d5-b7c4-4a66-8545-4c23ecf3f420","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.3867607} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2cefd545128ccde8eecbaf98bef4fa79","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2cefd545128ccde8eecbaf98bef4fa79","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"c7491cc0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9345effceeb8f72d42af13f6e58c1fe1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5"}}},"level":"info","message":"received a callback","requestID":"2cefd545128ccde8eecbaf98bef4fa79"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9345effceeb8f72d42af13f6e58c1fe1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5"}}},"level":"info","message":"received a callback","requestID":"9345effceeb8f72d42af13f6e58c1fe1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c7491cc0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5 204 63ms","method":"DELETE","requestID":"c7491cc0-e324-11ef-a766-ff4094b4009c","responseTime":63,"status":204,"url":"/peerconnections/be2fceff-3e42-493c-b2dc-af58566adca5"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"},"level":"info","message":"Successfully finished experiment","requestID":"8d09a66643151b5a62204b84c5e089b2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c756d860-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33e8eecd-f005-4648-95b3-d314c9da45be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"059c90d6-b678-4536-8bd2-ecc69a56d729","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.4543018} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.670046,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c756d860-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c756d860-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c756d860-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling 200 17ms","method":"POST","requestID":"c756d860-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/33e8eecd-f005-4648-95b3-d314c9da45be/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdb5e69fc-2ef2-47ab-89ab-888212c5390c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdb5e69fc-2ef2-47ab-89ab-888212c5390c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"3500ebfd-d4f2-4956-b917-77ad4fd315b3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.4633775} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94937f5f-e3b8-4936-a8e1-4cb3297d0eea","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.4637685} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"8d09a66643151b5a62204b84c5e089b2","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c759e5a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a22d599-5b24-411c-9d55-d2d11e274081","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b7275cb-2b10-4527-b9fb-7a765cc49971","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.4720829} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.146441,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c759e5a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c759e5a0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c759e5a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling 200 13ms","method":"POST","requestID":"c759e5a0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/7a22d599-5b24-411c-9d55-d2d11e274081/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c","requestID":"8d09a66643151b5a62204b84c5e089b2"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d09a66643151b5a62204b84c5e089b2"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.808","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"f02e54a9f71efda1fa9b04fcad2597eb"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.733","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"ca75bc75cae75070dd5e8d5bd7b7da34"} experiment-1 | {"level":"info","message":"DELETE /experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c 204 198ms","method":"DELETE","requestID":"8d09a66643151b5a62204b84c5e089b2","responseTime":198,"status":204,"url":"/experiments/db5e69fc-2ef2-47ab-89ab-888212c5390c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"2cefd545128ccde8eecbaf98bef4fa79","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"2cefd545128ccde8eecbaf98bef4fa79"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"9345effceeb8f72d42af13f6e58c1fe1","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"9345effceeb8f72d42af13f6e58c1fe1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"a6ad5288a33f005e0f2c37a1200dd779"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a6ad5288a33f005e0f2c37a1200dd779","responseTime":4,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/33e8eecd-f005-4648-95b3-d314c9da45be' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"a6ad5288a33f005e0f2c37a1200dd779"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.94827,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a6ad5288a33f005e0f2c37a1200dd779","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a6ad5288a33f005e0f2c37a1200dd779","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7a22d599-5b24-411c-9d55-d2d11e274081' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab9bc4b-5431-440b-a414-99b9b2e1660d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e000a614-63ef-4754-bae0-55cf43917e4e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.563198} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a6ad5288a33f005e0f2c37a1200dd779","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f852dd4-735d-4fe6-bb5e-8a89fcf298a8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.5695703} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a6ad5288a33f005e0f2c37a1200dd779","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab9bc4b-5431-440b-a414-99b9b2e1660d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"49ddd3a5-4b71-457f-8012-1467f38f559c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.5803418} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c211510-e3b4-4ae1-8ae6-909d423d1228","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.5804472} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a6ad5288a33f005e0f2c37a1200dd779","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab9bc4b-5431-440b-a414-99b9b2e1660d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ab9bc4b-5431-440b-a414-99b9b2e1660d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:57.580325948Z"}]},"request_id":"f27312e2-c05f-4664-aed4-d39ab4311078","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.5862017} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a6ad5288a33f005e0f2c37a1200dd779","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a6ad5288a33f005e0f2c37a1200dd779"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6ad5288a33f005e0f2c37a1200dd779"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"a6ad5288a33f005e0f2c37a1200dd779","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"39a2e95d9bc54371261cfde296bc3d85"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"39a2e95d9bc54371261cfde296bc3d85","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"39a2e95d9bc54371261cfde296bc3d85"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.829048,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"39a2e95d9bc54371261cfde296bc3d85","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"39a2e95d9bc54371261cfde296bc3d85","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45ad095f-1b4a-49fa-aa72-5c4485a5742e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6f50993e-4702-44e6-b24c-a4c1dc9c3ddc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.6127923} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"39a2e95d9bc54371261cfde296bc3d85","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5bb970a-7147-4ac1-b0f0-342fd696c57f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.6187627} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"39a2e95d9bc54371261cfde296bc3d85","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45ad095f-1b4a-49fa-aa72-5c4485a5742e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"28475252-d8ce-47ba-bdc8-8d55c8e1f970","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.6338882} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df6fe871-628e-4429-bb59-8c730d761cf8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.6341476} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"39a2e95d9bc54371261cfde296bc3d85","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45ad095f-1b4a-49fa-aa72-5c4485a5742e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45ad095f-1b4a-49fa-aa72-5c4485a5742e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:57.633874Z"}]},"request_id":"51adace5-0786-4550-8cfd-bef65bcf219e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.6411636} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"39a2e95d9bc54371261cfde296bc3d85","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"39a2e95d9bc54371261cfde296bc3d85"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"39a2e95d9bc54371261cfde296bc3d85","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39a2e95d9bc54371261cfde296bc3d85"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"72e4bd9a003a9c27f59b57a68284e079"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"72e4bd9a003a9c27f59b57a68284e079","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"72e4bd9a003a9c27f59b57a68284e079"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.659042,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"72e4bd9a003a9c27f59b57a68284e079","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"72e4bd9a003a9c27f59b57a68284e079","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150956df-117e-4de1-b9a3-7a6840696524","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f5a4eaf1-ba3f-4a55-8452-e89890d22af0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.667135} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"72e4bd9a003a9c27f59b57a68284e079","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84f5dc18-6f33-4455-8377-320fdc563bdd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.6716797} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"72e4bd9a003a9c27f59b57a68284e079","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150956df-117e-4de1-b9a3-7a6840696524","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"2e5378cc-faa0-4977-ae7a-fb8cdd984afb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.6813767} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be143224-f488-45c3-bc56-51cf3589a973","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.6814277} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"72e4bd9a003a9c27f59b57a68284e079","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150956df-117e-4de1-b9a3-7a6840696524","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F150956df-117e-4de1-b9a3-7a6840696524","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:57.681360762Z"}]},"request_id":"791f7745-8619-4934-9024-5bc8b0665a9d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.687433} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"72e4bd9a003a9c27f59b57a68284e079","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"72e4bd9a003a9c27f59b57a68284e079"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"72e4bd9a003a9c27f59b57a68284e079"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"72e4bd9a003a9c27f59b57a68284e079","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.620811,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F189c381a-0f9d-41af-86b8-d2010b5db8b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6dd3ac3b-ee32-463c-8f1e-d0c8ccecd3aa","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.7140617} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1b12084-c7eb-4104-a24d-022b3b1a94e0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.7196436} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F189c381a-0f9d-41af-86b8-d2010b5db8b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"39db3f7b-fdf8-4090-80eb-644c6fb80ddc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.7325468} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b6f9189-bf36-42d3-9348-48fbf9c3c1ed","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.7328234} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F189c381a-0f9d-41af-86b8-d2010b5db8b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F189c381a-0f9d-41af-86b8-d2010b5db8b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:57.732525962Z"}]},"request_id":"7b2957b3-d395-402e-bf96-6513093699d6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.7367795} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87aeda6f98c6e6a3f6cfbc1cd1f1a913"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"0b8d8fa7abc9704899c5c0a402552660"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0b8d8fa7abc9704899c5c0a402552660","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0b8d8fa7abc9704899c5c0a402552660"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.787589,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0b8d8fa7abc9704899c5c0a402552660","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0b8d8fa7abc9704899c5c0a402552660","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a1ff1d-59df-4f40-a741-331d6c2db246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"780f3fb1-af05-4322-b0a6-4d8ab94b390c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.762901} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0b8d8fa7abc9704899c5c0a402552660","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d80cbd4a-ab5f-4d42-82f1-73ea9d57b7bf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.7702336} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"0b8d8fa7abc9704899c5c0a402552660","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a1ff1d-59df-4f40-a741-331d6c2db246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"0dd377f7-cd80-42f5-865d-27665602be2c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.781998} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"184019ad-d6ab-4387-885c-6402d628eae0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.782218} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"0b8d8fa7abc9704899c5c0a402552660","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a1ff1d-59df-4f40-a741-331d6c2db246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0a1ff1d-59df-4f40-a741-331d6c2db246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:57.781970324Z"}]},"request_id":"1165f74f-33a8-4b36-b102-faf4784611af","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.7872133} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b8d8fa7abc9704899c5c0a402552660","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0b8d8fa7abc9704899c5c0a402552660"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"0b8d8fa7abc9704899c5c0a402552660","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b8d8fa7abc9704899c5c0a402552660"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"1989d0c4179aa09472db8d001b1a4456"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1989d0c4179aa09472db8d001b1a4456","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1989d0c4179aa09472db8d001b1a4456"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.65417,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1989d0c4179aa09472db8d001b1a4456","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1989d0c4179aa09472db8d001b1a4456","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedf2a9da-5197-45ca-a52c-998ccef2c516","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3b469592-26ee-4ff4-a974-db0b7a179bcc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.8098946} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1989d0c4179aa09472db8d001b1a4456","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2c149db-31ec-4a61-87a9-b39a9c6884f5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.8164718} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1989d0c4179aa09472db8d001b1a4456","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedf2a9da-5197-45ca-a52c-998ccef2c516","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"22730d49-5a79-475d-bfbf-734a60e4f3eb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.8308895} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebaa6e18-5d09-46d3-b7ba-2ac2b4c83d96","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.8313909} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"1989d0c4179aa09472db8d001b1a4456","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedf2a9da-5197-45ca-a52c-998ccef2c516","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fedf2a9da-5197-45ca-a52c-998ccef2c516","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:57.830862979Z"}]},"request_id":"16174388-e2d4-40d7-be74-c3229eb6767f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.8379478} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1989d0c4179aa09472db8d001b1a4456","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1989d0c4179aa09472db8d001b1a4456"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1989d0c4179aa09472db8d001b1a4456"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"1989d0c4179aa09472db8d001b1a4456","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"160db5f3ddf0c216bb1183b11e74c85d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"160db5f3ddf0c216bb1183b11e74c85d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"160db5f3ddf0c216bb1183b11e74c85d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.253077,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"160db5f3ddf0c216bb1183b11e74c85d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"160db5f3ddf0c216bb1183b11e74c85d","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03517b0d-2f9d-4558-a03a-b200c84deec4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"365836a8-018a-4d22-bc70-956bd4f7466e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.8754365} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"160db5f3ddf0c216bb1183b11e74c85d","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee1e91a9-1fc6-49da-9f08-bfbf2e2e138c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.8832116} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"160db5f3ddf0c216bb1183b11e74c85d","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03517b0d-2f9d-4558-a03a-b200c84deec4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"e86c8831-1bb9-44dc-a9f6-da3922875df0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.896165} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"467f9fb1-e15a-4dde-a585-780daae36145","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.8963702} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"160db5f3ddf0c216bb1183b11e74c85d","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03517b0d-2f9d-4558-a03a-b200c84deec4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03517b0d-2f9d-4558-a03a-b200c84deec4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:57.896142481Z"}]},"request_id":"1b5f0c06-10c9-45ab-ab3a-4879fba7ab90","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.903258} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"160db5f3ddf0c216bb1183b11e74c85d","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"160db5f3ddf0c216bb1183b11e74c85d"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"160db5f3ddf0c216bb1183b11e74c85d"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"160db5f3ddf0c216bb1183b11e74c85d","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"c1a106b9751b677bf27181e76a0484d9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c1a106b9751b677bf27181e76a0484d9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c1a106b9751b677bf27181e76a0484d9"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.555127,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c1a106b9751b677bf27181e76a0484d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c1a106b9751b677bf27181e76a0484d9","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62176231-505c-4f8c-8de0-8130043dd5f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"718acad0-5403-46ac-8b49-44eacd60ce39","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.938525} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c1a106b9751b677bf27181e76a0484d9","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90734007-5444-45d4-86d5-ae68b519b2dc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.9467} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c1a106b9751b677bf27181e76a0484d9","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62176231-505c-4f8c-8de0-8130043dd5f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"65ce5b5c-c42d-4d04-9c0f-186985866dfd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.958522} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"905fbf76-2c57-413d-bd99-23c8fe8519cf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.9589655} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"c1a106b9751b677bf27181e76a0484d9","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62176231-505c-4f8c-8de0-8130043dd5f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62176231-505c-4f8c-8de0-8130043dd5f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:57.958494267Z"}]},"request_id":"c15c3caf-97dc-4357-b43e-3e390875fb84","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693257.9668844} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c1a106b9751b677bf27181e76a0484d9","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c1a106b9751b677bf27181e76a0484d9"} gateway-1 | {"time_local":"04/Feb/2025:18:20:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1a106b9751b677bf27181e76a0484d9"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"c1a106b9751b677bf27181e76a0484d9","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs","level":"info","message":"auth send jwt","requestID":"d5db7f9bc539446307d14917050ba202"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d5db7f9bc539446307d14917050ba202","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d5db7f9bc539446307d14917050ba202"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.461392,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d5db7f9bc539446307d14917050ba202","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693257,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1N30.vdSaV8BKm6SucI7KAsO_V9KURrNa7Do5H9-f3RqbNFs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d5db7f9bc539446307d14917050ba202","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5cf7d7a-dc6a-4d61-a945-4419c264af76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"51a86647-9a95-40fe-86c2-8ae584483e9c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0051522} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d5db7f9bc539446307d14917050ba202","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"960421ad-85d3-4df4-90c4-bdf2c7847e76","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0136445} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d5db7f9bc539446307d14917050ba202","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5cf7d7a-dc6a-4d61-a945-4419c264af76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"e874b593-7e11-49c9-93b1-82ce00c7aa96","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0274267} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8051d464-8432-4d88-b66e-bed3bb01c3db","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0276716} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"d5db7f9bc539446307d14917050ba202","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5cf7d7a-dc6a-4d61-a945-4419c264af76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5cf7d7a-dc6a-4d61-a945-4419c264af76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.027400001Z"}]},"request_id":"facc5aac-e3f3-4596-92e3-54bcc7aefb36","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0346994} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d5db7f9bc539446307d14917050ba202","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d5db7f9bc539446307d14917050ba202"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"d5db7f9bc539446307d14917050ba202","responseTime":60,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5db7f9bc539446307d14917050ba202"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"8f4e3203856dece0a2b6b4a89929c34f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8f4e3203856dece0a2b6b4a89929c34f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8f4e3203856dece0a2b6b4a89929c34f"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.240152,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8f4e3203856dece0a2b6b4a89929c34f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"8f4e3203856dece0a2b6b4a89929c34f","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52c60ee5-b6ac-4b1d-bc03-6a8692699364","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"23a3cfb1-3e1a-42b7-9c74-eb6bf8657f30","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0736232} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8f4e3203856dece0a2b6b4a89929c34f","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63941e10-3d5b-49f9-94db-75dc1556273b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0809908} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8f4e3203856dece0a2b6b4a89929c34f","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52c60ee5-b6ac-4b1d-bc03-6a8692699364","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"c3356744-1961-4844-8bcb-b20fca03e580","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0933473} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d276848f-da28-4ecc-bff4-502ae786c304","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0937703} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"8f4e3203856dece0a2b6b4a89929c34f","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52c60ee5-b6ac-4b1d-bc03-6a8692699364","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52c60ee5-b6ac-4b1d-bc03-6a8692699364","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.093315851Z"}]},"request_id":"53a684d6-f113-4848-8a02-e3b10c5ead07","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.0991764} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8f4e3203856dece0a2b6b4a89929c34f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8f4e3203856dece0a2b6b4a89929c34f"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f4e3203856dece0a2b6b4a89929c34f"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"8f4e3203856dece0a2b6b4a89929c34f","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.897077,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6e6335dc-2a03-4b60-b0ef-ef5e502607dc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.1394122} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e2c2469-0bae-4cf8-bec9-4af8bd33c724","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.1474988} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"97be408e-3709-4419-b21e-c13b72748d8e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.1622674} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec9c42ed-30ad-4f15-8cf4-c116d4d12e4a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.1624959} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.162239241Z"}]},"request_id":"ec2b1654-0ae3-4729-bb5a-db138349f574","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.1696835} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"65a8fbaec65fbfa87f056a1d81cb7b5b","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.258662,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c3c64a9a-eb3d-46fa-8111-cbed70fc095c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.2083712} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18a61c7e-974d-4948-a413-fdc1a8410135","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.2173169} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"0f39d145-2a79-4f3a-8d8d-b1de144ac8e1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.2273893} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d6af26a-05b8-40e0-b889-57b921a651d4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.2275507} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.227362033Z"}]},"request_id":"87c2a629-f4f6-4bb1-818a-870b051c78a4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.2344394} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"3fb9ac51eb6e67951e1855bd89d3ebd3","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"bd201a4c819684bb585e9f97e09b937e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bd201a4c819684bb585e9f97e09b937e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bd201a4c819684bb585e9f97e09b937e"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.200963,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bd201a4c819684bb585e9f97e09b937e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bd201a4c819684bb585e9f97e09b937e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7969addd-b66c-472c-a1c3-548dfa8585a1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.26823} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bd201a4c819684bb585e9f97e09b937e","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9c9194b-c17d-4f56-9d61-cbd4e36415da","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.2752118} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"bd201a4c819684bb585e9f97e09b937e","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"1c5fa8e0-4f9d-4084-81d8-b42e92b8657c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.2911205} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"675b3d35-9d33-423b-95f1-f153aa129be4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.2914114} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"bd201a4c819684bb585e9f97e09b937e","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.291104470Z"}]},"request_id":"42f3a6b6-3b94-42d0-b139-b8aaed1c4ddf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.2982533} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bd201a4c819684bb585e9f97e09b937e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bd201a4c819684bb585e9f97e09b937e"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"bd201a4c819684bb585e9f97e09b937e","responseTime":56,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd201a4c819684bb585e9f97e09b937e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"b2dfb68d200631b483381369d6a5702f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b2dfb68d200631b483381369d6a5702f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b2dfb68d200631b483381369d6a5702f"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.29466,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/68d68261-243f-4735-aaf9-506862470d49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b2dfb68d200631b483381369d6a5702f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/68d68261-243f-4735-aaf9-506862470d49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b2dfb68d200631b483381369d6a5702f","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.162239241Z"}]},"request_id":"4f992fc4-1484-43b4-adb2-aba8296e013a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.3300352} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b2dfb68d200631b483381369d6a5702f","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e149f1dc-e86b-4604-b875-da8f179f941c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.3380857} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b2dfb68d200631b483381369d6a5702f","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.162239241Z"}]},"request_id":"d79200dd-50b6-4435-8ebe-e7da8728ab9b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.365875} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b2dfb68d200631b483381369d6a5702f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b2dfb68d200631b483381369d6a5702f"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/68d68261-243f-4735-aaf9-506862470d49? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2dfb68d200631b483381369d6a5702f"} device-1 | {"level":"info","message":"PATCH /devices/68d68261-243f-4735-aaf9-506862470d49? 200 55ms","method":"PATCH","requestID":"b2dfb68d200631b483381369d6a5702f","responseTime":55,"status":200,"url":"/devices/68d68261-243f-4735-aaf9-506862470d49?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"38c8dca8781f65bb73415e45bc838827"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"38c8dca8781f65bb73415e45bc838827","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"38c8dca8781f65bb73415e45bc838827"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197573,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4897ebc3-bc7a-4efe-b092-d0f25529058e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"38c8dca8781f65bb73415e45bc838827","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4897ebc3-bc7a-4efe-b092-d0f25529058e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"38c8dca8781f65bb73415e45bc838827","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.227362033Z"}]},"request_id":"15e7ee13-7591-460c-8f88-821549d1dcd7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.401008} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"38c8dca8781f65bb73415e45bc838827","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f023eb56-64a8-49ee-b570-16465822b71f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.4109125} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"38c8dca8781f65bb73415e45bc838827","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.227362033Z"}]},"request_id":"bfabe1a4-d4d6-4099-9bdd-130c60483eca","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.4393408} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"38c8dca8781f65bb73415e45bc838827","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"38c8dca8781f65bb73415e45bc838827"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4897ebc3-bc7a-4efe-b092-d0f25529058e? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38c8dca8781f65bb73415e45bc838827"} device-1 | {"level":"info","message":"PATCH /devices/4897ebc3-bc7a-4efe-b092-d0f25529058e? 200 64ms","method":"PATCH","requestID":"38c8dca8781f65bb73415e45bc838827","responseTime":64,"status":200,"url":"/devices/4897ebc3-bc7a-4efe-b092-d0f25529058e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"578a6e23c6b1bb71aaae56d3865051c1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"578a6e23c6b1bb71aaae56d3865051c1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"578a6e23c6b1bb71aaae56d3865051c1"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.280786,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"578a6e23c6b1bb71aaae56d3865051c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"578a6e23c6b1bb71aaae56d3865051c1","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.291104470Z"}]},"request_id":"98a4fb82-5f4d-4626-92f5-78946fb99baa","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.4683902} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"578a6e23c6b1bb71aaae56d3865051c1","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9035c40-17ec-4568-9c76-322082b926cd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.4758892} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"578a6e23c6b1bb71aaae56d3865051c1","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.291104470Z"}]},"request_id":"8b7ab1e5-c4dd-42e2-ac4c-60efae49086e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.4881415} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"578a6e23c6b1bb71aaae56d3865051c1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"578a6e23c6b1bb71aaae56d3865051c1"} device-1 | {"level":"info","message":"PATCH /devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9? 200 38ms","method":"PATCH","requestID":"578a6e23c6b1bb71aaae56d3865051c1","responseTime":38,"status":200,"url":"/devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9?"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"578a6e23c6b1bb71aaae56d3865051c1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"52329eeb2e21aab658db5fc0e4957be5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"52329eeb2e21aab658db5fc0e4957be5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"52329eeb2e21aab658db5fc0e4957be5"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.269896,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68d68261-243f-4735-aaf9-506862470d49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"52329eeb2e21aab658db5fc0e4957be5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/68d68261-243f-4735-aaf9-506862470d49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"52329eeb2e21aab658db5fc0e4957be5","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68d68261-243f-4735-aaf9-506862470d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.162239241Z"}]},"request_id":"fdca9aad-bca9-4588-80dc-541bb7522608","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.5130863} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"52329eeb2e21aab658db5fc0e4957be5","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.327282,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.116976,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ab9bc4b-5431-440b-a414-99b9b2e1660d","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"52329eeb2e21aab658db5fc0e4957be5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7ab9bc4b-5431-440b-a414-99b9b2e1660d","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"52329eeb2e21aab658db5fc0e4957be5","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45ad095f-1b4a-49fa-aa72-5c4485a5742e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"52329eeb2e21aab658db5fc0e4957be5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/45ad095f-1b4a-49fa-aa72-5c4485a5742e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"52329eeb2e21aab658db5fc0e4957be5","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.315572,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4897ebc3-bc7a-4efe-b092-d0f25529058e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"52329eeb2e21aab658db5fc0e4957be5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4897ebc3-bc7a-4efe-b092-d0f25529058e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"52329eeb2e21aab658db5fc0e4957be5","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.276002,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/150956df-117e-4de1-b9a3-7a6840696524","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"52329eeb2e21aab658db5fc0e4957be5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/150956df-117e-4de1-b9a3-7a6840696524","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 21ms","method":"POST","requestID":"52329eeb2e21aab658db5fc0e4957be5","responseTime":21,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"52329eeb2e21aab658db5fc0e4957be5"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/68d68261-243f-4735-aaf9-506862470d49? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52329eeb2e21aab658db5fc0e4957be5"} device-1 | {"level":"info","message":"GET /devices/68d68261-243f-4735-aaf9-506862470d49? 200 47ms","method":"GET","requestID":"52329eeb2e21aab658db5fc0e4957be5","responseTime":47,"status":200,"url":"/devices/68d68261-243f-4735-aaf9-506862470d49?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.230778,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4897ebc3-bc7a-4efe-b092-d0f25529058e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4897ebc3-bc7a-4efe-b092-d0f25529058e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4897ebc3-bc7a-4efe-b092-d0f25529058e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.227362033Z"}]},"request_id":"947d469b-5652-4a07-83eb-0539f476b944","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.5670235} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854087,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752749,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723649,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/189c381a-0f9d-41af-86b8-d2010b5db8b9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/189c381a-0f9d-41af-86b8-d2010b5db8b9","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0a1ff1d-59df-4f40-a741-331d6c2db246","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f0a1ff1d-59df-4f40-a741-331d6c2db246","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/edf2a9da-5197-45ca-a52c-998ccef2c516","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/edf2a9da-5197-45ca-a52c-998ccef2c516","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887626,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68d68261-243f-4735-aaf9-506862470d49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/68d68261-243f-4735-aaf9-506862470d49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664454,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894545,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03517b0d-2f9d-4558-a03a-b200c84deec4","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/03517b0d-2f9d-4558-a03a-b200c84deec4","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":16,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4897ebc3-bc7a-4efe-b092-d0f25529058e? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892"} device-1 | {"level":"info","message":"GET /devices/4897ebc3-bc7a-4efe-b092-d0f25529058e? 200 43ms","method":"GET","requestID":"e9c1db9da4bd96f3e4c5bb979ba59892","responseTime":43,"status":200,"url":"/devices/4897ebc3-bc7a-4efe-b092-d0f25529058e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897208,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93ef1933-9282-4729-8079-7b1d9b9ae9e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.291104470Z"}]},"request_id":"de948f44-e27d-4aa9-a830-862561aa982a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.6146493} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776038,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42430","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974531,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661143,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62176231-505c-4f8c-8de0-8130043dd5f3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/62176231-505c-4f8c-8de0-8130043dd5f3","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5cf7d7a-dc6a-4d61-a945-4419c264af76","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d5cf7d7a-dc6a-4d61-a945-4419c264af76","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/52c60ee5-b6ac-4b1d-bc03-6a8692699364","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/52c60ee5-b6ac-4b1d-bc03-6a8692699364","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806226,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68d68261-243f-4735-aaf9-506862470d49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/68d68261-243f-4735-aaf9-506862470d49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2"} device-1 | {"level":"info","message":"GET /devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9? 200 30ms","method":"GET","requestID":"2f555bcf28a9d7a72f3d449127e8b2e2","responseTime":30,"status":200,"url":"/devices/93ef1933-9282-4729-8079-7b1d9b9ae9e9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"53692f99f55eedf92933f050842496da"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"53692f99f55eedf92933f050842496da","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"53692f99f55eedf92933f050842496da"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.133017,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"53692f99f55eedf92933f050842496da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"53692f99f55eedf92933f050842496da","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"661f214d-c60c-49d3-a65a-8a9e34488ffb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.6742196} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53692f99f55eedf92933f050842496da","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e5e57d9-b326-4aab-a146-dafd1bd83b35","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.682575} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"53692f99f55eedf92933f050842496da","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"4bfd3e70-2215-472e-9551-03cc5c0c52f9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.6971471} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1309cacf-b64e-459a-aac8-22ca6471f7fe","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.6973076} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"53692f99f55eedf92933f050842496da","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.697112524Z"}]},"request_id":"1d1de349-0125-4217-82f4-02ff70ea3e75","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.704502} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53692f99f55eedf92933f050842496da","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"53692f99f55eedf92933f050842496da"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53692f99f55eedf92933f050842496da"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"53692f99f55eedf92933f050842496da","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"64c117760a5a5f16b4e6e0854c09bcda"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"64c117760a5a5f16b4e6e0854c09bcda","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"64c117760a5a5f16b4e6e0854c09bcda"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.117067,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"64c117760a5a5f16b4e6e0854c09bcda","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"64c117760a5a5f16b4e6e0854c09bcda","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5351d8d-9257-4e18-931e-7f534ee1880a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9932e588-d4b7-4721-849a-a11f9a835755","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.7409165} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"64c117760a5a5f16b4e6e0854c09bcda","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4da2e712-ddcf-480e-8a7a-27b8e3a6322d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.7486737} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"64c117760a5a5f16b4e6e0854c09bcda","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5351d8d-9257-4e18-931e-7f534ee1880a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"a3b29784-4f3c-4979-907f-1a7f1825a073","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.761299} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28656aba-d3e7-4fa3-89c6-330d98683272","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.7615535} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"64c117760a5a5f16b4e6e0854c09bcda","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5351d8d-9257-4e18-931e-7f534ee1880a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5351d8d-9257-4e18-931e-7f534ee1880a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.761247037Z"}]},"request_id":"12d616d2-77e8-4b1e-b094-83c36a17c9f4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.7695975} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"64c117760a5a5f16b4e6e0854c09bcda","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"64c117760a5a5f16b4e6e0854c09bcda"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"64c117760a5a5f16b4e6e0854c09bcda","responseTime":58,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64c117760a5a5f16b4e6e0854c09bcda"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY","level":"info","message":"auth send jwt","requestID":"c12c53a62510b703151aec02c84c1275"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c12c53a62510b703151aec02c84c1275","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c12c53a62510b703151aec02c84c1275"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.368044,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:20:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c12c53a62510b703151aec02c84c1275","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693258,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI1OH0.pXM1tMMQPf_9cZq7vM4jPuyOcbg7ohEwZHJnAaTyawY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c12c53a62510b703151aec02c84c1275","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cf0b8ac5-260d-4e9c-9a50-330a6e0b8de6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.805278} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c12c53a62510b703151aec02c84c1275","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"692c7532-24cf-4422-8785-d1d67cc0ab02","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.8135407} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c12c53a62510b703151aec02c84c1275","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"b8886adb-08a1-41e2-a851-ee12220a1ba1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.8288856} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c46e6615-14f4-4757-9bfa-6b1d35928799","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.829243} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"c12c53a62510b703151aec02c84c1275","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.828861299Z"}]},"request_id":"efab730d-1167-4159-b022-748b046fd5de","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693258.8366947} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c12c53a62510b703151aec02c84c1275","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c12c53a62510b703151aec02c84c1275"} gateway-1 | {"time_local":"04/Feb/2025:18:20:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c12c53a62510b703151aec02c84c1275"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"c12c53a62510b703151aec02c84c1275","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1ae49cb5d5a7ed73ecc1340d28964833","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1ae49cb5d5a7ed73ecc1340d28964833","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1ae49cb5d5a7ed73ecc1340d28964833"} device-1 | {"level":"info","message":"OPTIONS /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/websocket 200 1ms","method":"OPTIONS","requestID":"1ae49cb5d5a7ed73ecc1340d28964833","responseTime":1,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ea2fdc5167dcb70411df20a6164f3dbb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ea2fdc5167dcb70411df20a6164f3dbb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ea2fdc5167dcb70411df20a6164f3dbb"} device-1 | {"level":"info","message":"OPTIONS /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/websocket 200 1ms","method":"OPTIONS","requestID":"ea2fdc5167dcb70411df20a6164f3dbb","responseTime":1,"status":200,"url":"/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg","level":"info","message":"auth send jwt","requestID":"35e74fa035d9cff9e671069256a8433a"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"35e74fa035d9cff9e671069256a8433a","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"35e74fa035d9cff9e671069256a8433a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg","level":"info","message":"auth send jwt","requestID":"f63f819f02c70f463c6f81983d68d3c2"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:00Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f63f819f02c70f463c6f81983d68d3c2","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117926,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f63f819f02c70f463c6f81983d68d3c2"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"35e74fa035d9cff9e671069256a8433a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"35e74fa035d9cff9e671069256a8433a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.004119,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f63f819f02c70f463c6f81983d68d3c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f63f819f02c70f463c6f81983d68d3c2","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"35e74fa035d9cff9e671069256a8433a"} device-1 | {"level":"info","message":"POST /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/websocket 200 51ms","method":"POST","requestID":"35e74fa035d9cff9e671069256a8433a","responseTime":51,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.061","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"35e74fa035d9cff9e671069256a8433a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f63f819f02c70f463c6f81983d68d3c2"} gateway-1 | {"time_local":"04/Feb/2025:18:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.060","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f63f819f02c70f463c6f81983d68d3c2"} device-1 | {"level":"info","message":"POST /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/websocket 200 55ms","method":"POST","requestID":"f63f819f02c70f463c6f81983d68d3c2","responseTime":55,"status":200,"url":"/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg","level":"info","message":"auth send jwt","requestID":"8d7151a55c8b821153993d0c01b921ab"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8d7151a55c8b821153993d0c01b921ab","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8d7151a55c8b821153993d0c01b921ab"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127493,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8d7151a55c8b821153993d0c01b921ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8d7151a55c8b821153993d0c01b921ab","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.828861299Z"}]},"request_id":"4bfeb552-bbf1-4b0b-b413-8d96e8a63104","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693260.915308} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8d7151a55c8b821153993d0c01b921ab","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8d7151a55c8b821153993d0c01b921ab"} gateway-1 | {"time_local":"04/Feb/2025:18:21:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d7151a55c8b821153993d0c01b921ab"} device-1 | {"level":"info","message":"GET /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80? 200 19ms","method":"GET","requestID":"8d7151a55c8b821153993d0c01b921ab","responseTime":19,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg","level":"info","message":"auth send jwt","requestID":"18013278441fb00ab8ba438eb2295c9c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"18013278441fb00ab8ba438eb2295c9c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"18013278441fb00ab8ba438eb2295c9c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.39414,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"18013278441fb00ab8ba438eb2295c9c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"18013278441fb00ab8ba438eb2295c9c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Attempting to run experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Attempting to book experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Successfully booked experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c975e7d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9765d00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202828,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5351d8d-9257-4e18-931e-7f534ee1880a","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c975e7d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f5351d8d-9257-4e18-931e-7f534ee1880a","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c975e7d0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727404,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9765d00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c9765d00-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5351d8d-9257-4e18-931e-7f534ee1880a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5351d8d-9257-4e18-931e-7f534ee1880a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.761247037Z"}]},"request_id":"316f2081-f53a-4b73-90cb-55a8a8e5075d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.0187325} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c975e7d0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.828861299Z"}]},"request_id":"acd44ff4-c2ef-43b3-ab47-5f3bf5f79f7e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.0204482} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c9765d00-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9765d00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80? 200 20ms","method":"GET","requestID":"c9765d00-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80?"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779852,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c975e7d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c975e7d0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c975e7d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/f5351d8d-9257-4e18-931e-7f534ee1880a? 200 29ms","method":"GET","requestID":"c975e7d0-e324-11ef-a766-ff4094b4009c","responseTime":29,"status":200,"url":"/devices/f5351d8d-9257-4e18-931e-7f534ee1880a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Setting up experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Successfully set up experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9826af0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c982e020-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9835550-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Successfully running experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.860309,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9826af0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c9826af0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.371699,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c982e020-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"c982e020-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.487852,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0dda5ae3-a8f3-4cae-af7a-4f8febe37c8a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.1055017} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9835550-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"c9835550-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.697112524Z"}]},"request_id":"0a487e4b-74a5-4e79-b93b-207bcabfecbf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.1107357} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"c9826af0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9835550-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.828861299Z"}]},"request_id":"37fc115d-b864-4209-a5c7-e1df9068008a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.1158366} device-1 | {"level":"info","message":"POST /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling 200 24ms","method":"POST","requestID":"c9835550-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c982e020-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1929a922-6ce0-4ef2-aa58-df194613025b#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1929a922-6ce0-4ef2-aa58-df194613025b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"697721db-720d-496f-8125-628637e26dd4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.1224883} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff7e4896-9533-4e80-a7ea-a546246072b1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.1228268} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c987e930-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9826af0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6? 200 42ms","method":"GET","requestID":"c9826af0-e324-11ef-a766-ff4094b4009c","responseTime":42,"status":200,"url":"/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c982e020-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"18013278441fb00ab8ba438eb2295c9c","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} device-1 | {"level":"info","message":"GET /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80? 200 41ms","method":"GET","requestID":"c982e020-e324-11ef-a766-ff4094b4009c","responseTime":41,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4dd82bb4-3fcf-42ff-b75a-ce0c3f5c7dfd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.132121} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.226071,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c987e930-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c987e930-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c98a5a30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c987e930-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling 200 19ms","method":"POST","requestID":"c987e930-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"18013278441fb00ab8ba438eb2295c9c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.220","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 212ms","method":"POST","requestID":"18013278441fb00ab8ba438eb2295c9c","responseTime":212,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cd26b7f-7262-49af-9919-0038f07c7d90","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.1463947} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.417309,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c98a5a30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c98a5a30-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo","level":"info","message":"auth send jwt","requestID":"85b1f06d03a308dce124238cd8570c42"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"85b1f06d03a308dce124238cd8570c42","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85b1f06d03a308dce124238cd8570c42"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c98a5a30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling 200 17ms","method":"POST","requestID":"c98a5a30-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.123317,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"85b1f06d03a308dce124238cd8570c42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693261,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"85b1f06d03a308dce124238cd8570c42","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c98d6770-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.697112524Z"}]},"request_id":"95ef57d5-4322-4783-b15f-7b2107334112","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.164687} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"166f23bf-b39c-4329-aa63-90508c76f136","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.164853} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"85b1f06d03a308dce124238cd8570c42","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.373378,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c98d6770-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c98d6770-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85b1f06d03a308dce124238cd8570c42"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"85b1f06d03a308dce124238cd8570c42"} device-1 | {"level":"info","message":"GET /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6? 200 19ms","method":"GET","requestID":"85b1f06d03a308dce124238cd8570c42","responseTime":19,"status":200,"url":"/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c98d6770-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling 200 14ms","method":"POST","requestID":"c98d6770-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Building connection plan","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"6ea68194-86d9-4eab-82fa-3f8ba60c4539"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9458da63-04a6-4f67-abdc-7175e6d1e37f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1801880f-71a1-4b5f-a10d-a1573b3c661a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"18013278441fb00ab8ba438eb2295c9c"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"18013278441fb00ab8ba438eb2295c9c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo","level":"info","message":"auth send jwt","requestID":"2fbf365c7cf2ea65b12dc4b13833fd77"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c9902690-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2fbf365c7cf2ea65b12dc4b13833fd77","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2fbf365c7cf2ea65b12dc4b13833fd77"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.950304,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9902690-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693260,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MH0.VFjh7gI67JXun4r4vk21RDYrPNg8SjV5Pv-D3uXR6zg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9902690-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832055,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2fbf365c7cf2ea65b12dc4b13833fd77","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693261,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2fbf365c7cf2ea65b12dc4b13833fd77","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:20:58.828861299Z"}]},"request_id":"46978262-1a98-4caa-bcd3-af87640c99d6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.1911142} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2fbf365c7cf2ea65b12dc4b13833fd77","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2fbf365c7cf2ea65b12dc4b13833fd77"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2fbf365c7cf2ea65b12dc4b13833fd77"} device-1 | {"level":"info","message":"GET /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80? 200 17ms","method":"GET","requestID":"2fbf365c7cf2ea65b12dc4b13833fd77","responseTime":17,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"21fd10d7-b97d-49c2-9f28-f7c966e7bf02","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.1966019} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b42ad1a4-5126-4316-bfd8-8e6953803780","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.1970313} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c9902690-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c9902690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c9902690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7'","requestID":"c9902690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7'","requestID":"c9902690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c9902690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"c9902690-e324-11ef-a766-ff4094b4009c","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c9902690-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7","device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7","device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"18013278441fb00ab8ba438eb2295c9c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c99c5b90-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"523b15be-1310-4b84-9bd3-838a96661bc4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.2623775} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.010789,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c99c5b90-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c99c5b90-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c99c5b90-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling 200 10ms","method":"POST","requestID":"c99c5b90-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c99e3050-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} device-1 | {"device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d3af2ae-6913-4a03-a590-f8c822d862af","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.2754495} device-1 | {"content":{"canTrickle":true},"device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.136099,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c99e3050-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c99e3050-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c99e3050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling 200 13ms","method":"POST","requestID":"c99e3050-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 3737753574533756580 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:SY6n\r\na=ice-pwd:9haSGSYtuimQjqn8xphlENOF\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0F:EC:49:23:15:AE:30:A0:47:48:DB:D2:D5:28:CF:4D:E5:48:4F:43:78:ED:D9:94:49:89:61:7F:C0:2D:87:D4\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7842059167466296457 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:PhkM\r\na=ice-pwd:Q8DmGDSu9FTKzALdogK0k6Su\r\na=ice-options:trickle\r\na=fingerprint:sha-256 10:5F:36:3D:A1:43:F8:3A:75:9C:6F:BC:66:75:5D:08:5B:D0:36:A6:86:12:4C:81:54:AC:EE:64:B7:82:BE:DC\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1731133230 1 udp 2113937151 e056c314-f3ac-4d1e-8185-9a6f6e3b9967.local 43889 typ host generation 0 ufrag PhkM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3808662865 1 udp 1677729535 141.24.211.56 43889 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag PhkM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80'"} device-1 | {"content":{"candidate":"candidate:1045180141 1 udp 2113937151 f4e05a3f-c3f8-4900-9daf-3a21a3a116d9.local 45697 typ host generation 0 ufrag SY6n network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2909245438 1 udp 1677729535 141.24.211.56 45697 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag SY6n network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6'"} device-1 | {"device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"22574527-db51-4591-bcce-7fa9eb4e03b7","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c6313ca925f66ddcbb44ccc1fd6fb98f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6313ca925f66ddcbb44ccc1fd6fb98f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7"}}},"level":"info","message":"received a callback","requestID":"c6313ca925f66ddcbb44ccc1fd6fb98f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"c6313ca925f66ddcbb44ccc1fd6fb98f","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6313ca925f66ddcbb44ccc1fd6fb98f"} device-1 | {"device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"22574527-db51-4591-bcce-7fa9eb4e03b7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"22574527-db51-4591-bcce-7fa9eb4e03b7","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"22574527-db51-4591-bcce-7fa9eb4e03b7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d1e49d436aa01617f14744642b08da08","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d1e49d436aa01617f14744642b08da08","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7"}}},"level":"info","message":"received a callback","requestID":"d1e49d436aa01617f14744642b08da08"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c9ab76c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F22574527-db51-4591-bcce-7fa9eb4e03b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ec640a7-7e70-4003-aa07-e9d0c575d438","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.3607824} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.293208,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9ab76c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c9ab76c0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c9ab76c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7 200 9ms","method":"GET","requestID":"c9ab76c0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"d1e49d436aa01617f14744642b08da08","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"d1e49d436aa01617f14744642b08da08"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9aef930-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb97aa5d-5d2a-4b5a-bf63-8ee257cb2a71","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.383708} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.214756,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9aef930-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c9aef930-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9aef930-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling 200 8ms","method":"POST","requestID":"c9aef930-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9b0a6e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac1d6dae-78f0-43e6-b84b-8201177d7759","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.39395} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.292731,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9b0a6e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c9b0a6e0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9b0a6e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling 200 8ms","method":"POST","requestID":"c9b0a6e0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo","level":"info","message":"auth send jwt","requestID":"e4b266b522dff451e630e52d88a84f87"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e4b266b522dff451e630e52d88a84f87","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1929a922-6ce0-4ef2-aa58-df194613025b","requestID":"e4b266b522dff451e630e52d88a84f87"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.236441,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e4b266b522dff451e630e52d88a84f87","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693261,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e4b266b522dff451e630e52d88a84f87","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1929a922-6ce0-4ef2-aa58-df194613025b","requestID":"e4b266b522dff451e630e52d88a84f87"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1929a922-6ce0-4ef2-aa58-df194613025b HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4b266b522dff451e630e52d88a84f87"} experiment-1 | {"level":"info","message":"GET /experiments/1929a922-6ce0-4ef2-aa58-df194613025b 200 11ms","method":"GET","requestID":"e4b266b522dff451e630e52d88a84f87","responseTime":11,"status":200,"url":"/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo","level":"info","message":"auth send jwt","requestID":"5718d4790879eae8b377461242602ede"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5718d4790879eae8b377461242602ede","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1929a922-6ce0-4ef2-aa58-df194613025b","requestID":"5718d4790879eae8b377461242602ede"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.752153,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5718d4790879eae8b377461242602ede","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693261,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5718d4790879eae8b377461242602ede","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Attempting to finish experiment","requestID":"5718d4790879eae8b377461242602ede"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c9b86f10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.69297,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9b86f10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693261,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c9b86f10-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7","device":"6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7","device":"262eb520-64fd-43cf-a2ed-fa4d4afe5f80","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"22574527-db51-4591-bcce-7fa9eb4e03b7","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8f9cf78edae74a3b86b150a8e69a08fd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8f9cf78edae74a3b86b150a8e69a08fd","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8a0078b4184a5e016a6a7071dd0773c1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7"}}},"level":"info","message":"received a callback","requestID":"8f9cf78edae74a3b86b150a8e69a08fd"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8a0078b4184a5e016a6a7071dd0773c1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7"}}},"level":"info","message":"received a callback","requestID":"8a0078b4184a5e016a6a7071dd0773c1"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F22574527-db51-4591-bcce-7fa9eb4e03b7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F22574527-db51-4591-bcce-7fa9eb4e03b7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"fa3a965f-843f-450e-a440-18cd1cab5dea","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.4616382} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb9991e5-5f3e-4900-b613-99fc36d83d75","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.4619205} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"c9b86f10-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"22574527-db51-4591-bcce-7fa9eb4e03b7","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c9b86f10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7 204 53ms","method":"DELETE","requestID":"c9b86f10-e324-11ef-a766-ff4094b4009c","responseTime":53,"status":204,"url":"/peerconnections/22574527-db51-4591-bcce-7fa9eb4e03b7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"},"level":"info","message":"Successfully finished experiment","requestID":"5718d4790879eae8b377461242602ede"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9c3e0c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F262eb520-64fd-43cf-a2ed-fa4d4afe5f80","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d574ac40-f0ba-469c-8ccf-8e2b11425b6d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.52334} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.155637,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9c3e0c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c9c3e0c0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9c3e0c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling 200 15ms","method":"POST","requestID":"c9c3e0c0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1929a922-6ce0-4ef2-aa58-df194613025b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1929a922-6ce0-4ef2-aa58-df194613025b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"f125c2d9-6cb1-460a-aeef-56b5aa42e3f0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.5337877} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"258fad44-cf04-431c-8434-8fe7b79571cb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.5342667} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9c6ee00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"5718d4790879eae8b377461242602ede","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4d16075-8330-48a2-b4e2-092364927c4e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.5426557} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.573979,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c9c6ee00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c9c6ee00-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9c6ee00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling 200 13ms","method":"POST","requestID":"c9c6ee00-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1929a922-6ce0-4ef2-aa58-df194613025b","requestID":"5718d4790879eae8b377461242602ede"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1929a922-6ce0-4ef2-aa58-df194613025b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5718d4790879eae8b377461242602ede"} experiment-1 | {"level":"info","message":"DELETE /experiments/1929a922-6ce0-4ef2-aa58-df194613025b 204 170ms","method":"DELETE","requestID":"5718d4790879eae8b377461242602ede","responseTime":170,"status":204,"url":"/experiments/1929a922-6ce0-4ef2-aa58-df194613025b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"8f9cf78edae74a3b86b150a8e69a08fd","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f9cf78edae74a3b86b150a8e69a08fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo","level":"info","message":"auth send jwt","requestID":"3c5b2322e44d2f1950c70747220be8a6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3c5b2322e44d2f1950c70747220be8a6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"8a0078b4184a5e016a6a7071dd0773c1","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"8a0078b4184a5e016a6a7071dd0773c1"} device-1 | {"level":"info","message":"postDevices called","requestID":"3c5b2322e44d2f1950c70747220be8a6"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.730","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"816a03219ecd4a2ae762c3cfaef7628d"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.739","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"00f2002e99363540b14a6f62f632ee52"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.04051,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3c5b2322e44d2f1950c70747220be8a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693261,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/262eb520-64fd-43cf-a2ed-fa4d4afe5f80' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3c5b2322e44d2f1950c70747220be8a6","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6d1e6e22-e258-4907-b6d2-9ea1e3a90bb6' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0f00f106-3799-4f35-ad2f-7f93865280d3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.6342442} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3c5b2322e44d2f1950c70747220be8a6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e20bf44c-a7d2-4b8d-b832-05a428211369","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.6397574} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3c5b2322e44d2f1950c70747220be8a6","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"c92f0310-5f49-4dc0-b47f-ed8a50c9cf6a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.654568} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"336c8da5-73d9-4c82-9c18-56e417365427","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.6547165} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"3c5b2322e44d2f1950c70747220be8a6","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.654548993Z"}]},"request_id":"facfe3dc-bd95-4fae-bfdf-e6fdf7018800","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.6592703} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3c5b2322e44d2f1950c70747220be8a6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3c5b2322e44d2f1950c70747220be8a6"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"3c5b2322e44d2f1950c70747220be8a6","responseTime":51,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c5b2322e44d2f1950c70747220be8a6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo","level":"info","message":"auth send jwt","requestID":"5659a662bd4c025076dfbf05643509de"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5659a662bd4c025076dfbf05643509de","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5659a662bd4c025076dfbf05643509de"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.794596,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5659a662bd4c025076dfbf05643509de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693261,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2MX0.3lzvC8r6ucgT4lXxgvLxAEKZfVzRls1FztO_6j6nhAo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5659a662bd4c025076dfbf05643509de","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0be776da-734d-47cf-b915-3b17bd115238","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.6849723} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5659a662bd4c025076dfbf05643509de","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12a23d90-7b9d-4310-8bd4-4ba13a110b8f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.6902964} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5659a662bd4c025076dfbf05643509de","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"0f015491-e807-485a-be44-e1243441030c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.7015824} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0e83487-cabf-49b0-8a63-09cb3c0ed194","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.7017946} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"5659a662bd4c025076dfbf05643509de","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.701568092Z"}]},"request_id":"d0fcbe67-63d6-4fde-9028-6f7d16f74c61","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693261.706379} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5659a662bd4c025076dfbf05643509de","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5659a662bd4c025076dfbf05643509de"} gateway-1 | {"time_local":"04/Feb/2025:18:21:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5659a662bd4c025076dfbf05643509de"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"5659a662bd4c025076dfbf05643509de","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Mn0.JO-sdeeiujpWGCQVFXBVkBK0VnPIAT7-MFOcRh7iifc","level":"info","message":"auth send jwt","requestID":"e2d702ae783de1a4bfc4a7488e8ff190"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e2d702ae783de1a4bfc4a7488e8ff190","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e2d702ae783de1a4bfc4a7488e8ff190"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.054817,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e2d702ae783de1a4bfc4a7488e8ff190","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693262,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Mn0.JO-sdeeiujpWGCQVFXBVkBK0VnPIAT7-MFOcRh7iifc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e2d702ae783de1a4bfc4a7488e8ff190","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.654548993Z"}]},"request_id":"62f0c5f0-c4f8-4d4c-a33d-fb97e10d9ddd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693262.1782327} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e2d702ae783de1a4bfc4a7488e8ff190","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"338cee54-d850-406b-84e9-3c4e7ebfdee5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693262.185945} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e2d702ae783de1a4bfc4a7488e8ff190","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.654548993Z"}]},"request_id":"307aa1a1-b110-4ea9-a9d1-f6fe78411ef2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693262.212806} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e2d702ae783de1a4bfc4a7488e8ff190","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e2d702ae783de1a4bfc4a7488e8ff190"} gateway-1 | {"time_local":"04/Feb/2025:18:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/66465199-d0bb-48a9-933a-a4e3e2236292 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"e2d702ae783de1a4bfc4a7488e8ff190"} device-1 | {"level":"info","message":"PATCH /devices/66465199-d0bb-48a9-933a-a4e3e2236292 200 52ms","method":"PATCH","requestID":"e2d702ae783de1a4bfc4a7488e8ff190","responseTime":52,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Mn0.JO-sdeeiujpWGCQVFXBVkBK0VnPIAT7-MFOcRh7iifc","level":"info","message":"auth send jwt","requestID":"871f13dbde31a2bb422bee9826a4e3d9"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"871f13dbde31a2bb422bee9826a4e3d9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"871f13dbde31a2bb422bee9826a4e3d9"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.433666,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"871f13dbde31a2bb422bee9826a4e3d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693262,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Mn0.JO-sdeeiujpWGCQVFXBVkBK0VnPIAT7-MFOcRh7iifc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"871f13dbde31a2bb422bee9826a4e3d9","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"871f13dbde31a2bb422bee9826a4e3d9"} device-1 | {"level":"info","message":"POST /devices/66465199-d0bb-48a9-933a-a4e3e2236292/websocket 200 25ms","method":"POST","requestID":"871f13dbde31a2bb422bee9826a4e3d9","responseTime":25,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/66465199-d0bb-48a9-933a-a4e3e2236292/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"871f13dbde31a2bb422bee9826a4e3d9"} device-1 | {"level":"info","message":"device 'http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"40366594ea93ff45f4772c6dcad6836d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"40366594ea93ff45f4772c6dcad6836d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/92306d04-22f6-41bf-8621-ead2908ebcd3/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"40366594ea93ff45f4772c6dcad6836d"} device-1 | {"level":"info","message":"OPTIONS /devices/92306d04-22f6-41bf-8621-ead2908ebcd3/websocket 200 1ms","method":"OPTIONS","requestID":"40366594ea93ff45f4772c6dcad6836d","responseTime":1,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8","level":"info","message":"auth send jwt","requestID":"aec48979ef505ce0b7124ae8f14140c3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aec48979ef505ce0b7124ae8f14140c3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"aec48979ef505ce0b7124ae8f14140c3"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.219161,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"aec48979ef505ce0b7124ae8f14140c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693263,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"aec48979ef505ce0b7124ae8f14140c3","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"aec48979ef505ce0b7124ae8f14140c3"} device-1 | {"level":"info","message":"POST /devices/92306d04-22f6-41bf-8621-ead2908ebcd3/websocket 200 30ms","method":"POST","requestID":"aec48979ef505ce0b7124ae8f14140c3","responseTime":30,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/92306d04-22f6-41bf-8621-ead2908ebcd3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"aec48979ef505ce0b7124ae8f14140c3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8","level":"info","message":"auth send jwt","requestID":"a79a2578815bf687d11d87d0986be771"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a79a2578815bf687d11d87d0986be771","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a79a2578815bf687d11d87d0986be771"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.278624,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a79a2578815bf687d11d87d0986be771","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693263,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a79a2578815bf687d11d87d0986be771","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.654548993Z"}]},"request_id":"b0657b98-f0f3-4135-9c4a-1b70a51fb766","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693263.824495} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a79a2578815bf687d11d87d0986be771","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a79a2578815bf687d11d87d0986be771"} device-1 | {"level":"info","message":"GET /devices/66465199-d0bb-48a9-933a-a4e3e2236292? 200 19ms","method":"GET","requestID":"a79a2578815bf687d11d87d0986be771","responseTime":19,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66465199-d0bb-48a9-933a-a4e3e2236292? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a79a2578815bf687d11d87d0986be771"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8","level":"info","message":"auth send jwt","requestID":"98c97f5e64febc98b280c6cfa6bed70c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"98c97f5e64febc98b280c6cfa6bed70c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"98c97f5e64febc98b280c6cfa6bed70c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.10891,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"98c97f5e64febc98b280c6cfa6bed70c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693263,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"98c97f5e64febc98b280c6cfa6bed70c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.701568092Z"}]},"request_id":"3fb23a48-32c4-4b8f-90ff-6c704f7696de","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693263.8506815} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"98c97f5e64febc98b280c6cfa6bed70c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"98c97f5e64febc98b280c6cfa6bed70c"} device-1 | {"level":"info","message":"GET /devices/92306d04-22f6-41bf-8621-ead2908ebcd3? 200 19ms","method":"GET","requestID":"98c97f5e64febc98b280c6cfa6bed70c","responseTime":19,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92306d04-22f6-41bf-8621-ead2908ebcd3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98c97f5e64febc98b280c6cfa6bed70c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8","level":"info","message":"auth send jwt","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"666b7ecca6df8e493f2bef5eb43254dd","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.269585,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"666b7ecca6df8e493f2bef5eb43254dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693263,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"666b7ecca6df8e493f2bef5eb43254dd","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Attempting to run experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Attempting to book experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Successfully booked experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb33eb80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb3439a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341738,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb33eb80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693263,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb33eb80-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687709,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb3439a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693263,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb3439a0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.654548993Z"}]},"request_id":"ec9585fd-aac0-4c29-bb35-c09906213ca4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693263.9374144} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb33eb80-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.701568092Z"}]},"request_id":"70289fba-bbed-4568-b67c-4c71a9cdeb0f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693263.9382923} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cb3439a0-e324-11ef-a766-ff4094b4009c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cb33eb80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/66465199-d0bb-48a9-933a-a4e3e2236292? 200 18ms","method":"GET","requestID":"cb33eb80-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cb3439a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/92306d04-22f6-41bf-8621-ead2908ebcd3? 200 17ms","method":"GET","requestID":"cb3439a0-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Setting up experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Successfully locked booking for experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Attempting to update booking for experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Successfully updated booking for experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Successfully set up experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb404790-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb40bcc0-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Successfully running experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb410ae0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955113,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb404790-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693263,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb404790-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738553,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb40bcc0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693263,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb40bcc0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.654548993Z"}]},"request_id":"6054831b-06b8-4a62-a8ec-0de200003115","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.021409} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"807062d1-f95a-40d9-9965-c913a9b74135","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.0215592} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cb404790-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.701568092Z"}]},"request_id":"5c860236-6a27-4a10-a36a-9d70a24dd719","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.022485} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.467115,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb410ae0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cb410ae0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb40bcc0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2ff84635-7a32-48b8-a3e5-19251ac71a82#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2ff84635-7a32-48b8-a3e5-19251ac71a82","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"21bf813f-802b-45b5-ac69-39b499362224","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.029099} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21b52fc0-a351-40e3-99a6-441a4768637d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.0294642} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cb404790-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"666b7ecca6df8e493f2bef5eb43254dd","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/66465199-d0bb-48a9-933a-a4e3e2236292? 200 22ms","method":"GET","requestID":"cb404790-e324-11ef-a766-ff4094b4009c","responseTime":22,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb410ae0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling 200 18ms","method":"POST","requestID":"cb410ae0-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cb40bcc0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/92306d04-22f6-41bf-8621-ead2908ebcd3? 200 21ms","method":"GET","requestID":"cb40bcc0-e324-11ef-a766-ff4094b4009c","responseTime":21,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb448d50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb44db70-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bd92fa3-903f-4047-acd4-0554d80fe316","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.0425785} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"666b7ecca6df8e493f2bef5eb43254dd","responseTime":176,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.57446,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb448d50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"04/Feb/2025:18:21:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cb448d50-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.479875,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d17635eb-bada-466a-b8e7-069c7c8576e6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.0446687} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb44db70-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cb44db70-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2NH0.o3ts6TETgjiSEF8OMNf9vuhu41NXRD5cD_kRJW9ZRD0","level":"info","message":"auth send jwt","requestID":"307acf2858f3db4cbd9ddb8f41d94fb9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"307acf2858f3db4cbd9ddb8f41d94fb9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb448d50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling 200 15ms","method":"POST","requestID":"cb448d50-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"307acf2858f3db4cbd9ddb8f41d94fb9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb44db70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling 200 16ms","method":"POST","requestID":"cb44db70-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742849,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"307acf2858f3db4cbd9ddb8f41d94fb9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693264,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2NH0.o3ts6TETgjiSEF8OMNf9vuhu41NXRD5cD_kRJW9ZRD0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"307acf2858f3db4cbd9ddb8f41d94fb9","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb479a90-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.654548993Z"}]},"request_id":"81b72567-f0ed-4cd5-aa5b-43c86a09c8bc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.0629787} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8af78afd-dc61-4f89-a996-9e4068b804ca","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.0631106} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"307acf2858f3db4cbd9ddb8f41d94fb9","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.375114,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb479a90-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cb479a90-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"307acf2858f3db4cbd9ddb8f41d94fb9"} device-1 | {"level":"info","message":"GET /devices/66465199-d0bb-48a9-933a-a4e3e2236292? 200 19ms","method":"GET","requestID":"307acf2858f3db4cbd9ddb8f41d94fb9","responseTime":19,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66465199-d0bb-48a9-933a-a4e3e2236292? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"307acf2858f3db4cbd9ddb8f41d94fb9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb479a90-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling 200 15ms","method":"POST","requestID":"cb479a90-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Building connection plan","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"9afc2fa6-be2e-4a57-a800-d151646459bb"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"1db9e8a6-7740-47bf-b72b-b3753ff4748d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cfaf446b-a79a-447e-ba7b-e4dd23532baf"}]},"level":"info","message":"Built pairwise service configurations","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2NH0.o3ts6TETgjiSEF8OMNf9vuhu41NXRD5cD_kRJW9ZRD0","level":"info","message":"auth send jwt","requestID":"916fad77acc162d93162d48f0a986da5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"916fad77acc162d93162d48f0a986da5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"916fad77acc162d93162d48f0a986da5"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.912029,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693263,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2M30.VPhYF-y9Vl2FDziPVXg6tPgdLZBst5LNme9Yu5_eiJ8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755747,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"916fad77acc162d93162d48f0a986da5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693264,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2NH0.o3ts6TETgjiSEF8OMNf9vuhu41NXRD5cD_kRJW9ZRD0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"916fad77acc162d93162d48f0a986da5","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:01.701568092Z"}]},"request_id":"9982668b-bc8b-4125-8bd3-e188e63dda8e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.0867188} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"916fad77acc162d93162d48f0a986da5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"916fad77acc162d93162d48f0a986da5"} device-1 | {"level":"info","message":"GET /devices/92306d04-22f6-41bf-8621-ead2908ebcd3? 200 16ms","method":"GET","requestID":"916fad77acc162d93162d48f0a986da5","responseTime":16,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92306d04-22f6-41bf-8621-ead2908ebcd3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"916fad77acc162d93162d48f0a986da5"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"9d82dc69-412c-4a42-954e-9ca573fca7e8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.0975957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b154d4d3-8020-49cc-bd07-d3058447cd1d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.0979543} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be'","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be'","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"cb4a59b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be","device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"666b7ecca6df8e493f2bef5eb43254dd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb55a450-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} device-1 | {"device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73269722-6096-4f1f-afd3-7f9e0e5984e7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.1545594} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.799413,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb55a450-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cb55a450-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 7907239948710705103 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:0W6o\r\na=ice-pwd:hGHenR6RvSzAF2zwtrFkxUls\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4D:22:9E:F5:37:AF:98:FB:AA:7B:56:5D:95:B5:94:E6:85:40:65:D6:78:16:20:82:8D:98:CD:A7:C4:93:FE:7C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb55a450-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling 200 13ms","method":"POST","requestID":"cb55a450-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb57ee40-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f896d0ec-e287-4c64-8730-348891dfeac8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693264.1681576} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.078816,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb57ee40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb57ee40-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb57ee40-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling 200 8ms","method":"POST","requestID":"cb57ee40-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling"} device-1 | {"device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"2abb3b95-6287-42c5-8f23-83df36abf5be","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2abb3b95-6287-42c5-8f23-83df36abf5be","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d0505671d43706f5772a23e4866fd972","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d0505671d43706f5772a23e4866fd972","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be"}}},"level":"info","message":"received a callback","requestID":"d0505671d43706f5772a23e4866fd972"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"d0505671d43706f5772a23e4866fd972","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"d0505671d43706f5772a23e4866fd972"} device-1 | {"content":{"candidate":"candidate:153120638 1 udp 2113937151 a8af1adf-d8af-4ef3-9eab-4581a6c82ece.local 49252 typ host generation 0 ufrag 0W6o network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2584465005 1 udp 1677729535 141.24.211.56 49252 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 0W6o network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:606565791 1 udp 33562623 141.24.210.113 62291 typ relay raddr 141.24.211.56 rport 49252 generation 0 ufrag 0W6o network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3'"} device-1 | {"data":{"peerconnection":"2abb3b95-6287-42c5-8f23-83df36abf5be","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"2abb3b95-6287-42c5-8f23-83df36abf5be","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2abb3b95-6287-42c5-8f23-83df36abf5be","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"17993369afff176b666057ca1319d81b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"17993369afff176b666057ca1319d81b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be"}}},"level":"info","message":"received a callback","requestID":"17993369afff176b666057ca1319d81b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cc943ed0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2abb3b95-6287-42c5-8f23-83df36abf5be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea1ca1d8-5720-4c7c-86f6-d2b99785c82f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.2428188} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.91596,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cc943ed0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cc943ed0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cc943ed0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be 200 10ms","method":"GET","requestID":"cc943ed0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"17993369afff176b666057ca1319d81b","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"17993369afff176b666057ca1319d81b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc98d2b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23d59087-922e-4afe-9a1e-2f601d211865","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.274474} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.498225,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cc98d2b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"cc98d2b0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc98d2b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling 200 14ms","method":"POST","requestID":"cc98d2b0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc9b6ac0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"405165a7-7e66-4d4c-98a0-cb7519298f95","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.2907689} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.059803,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cc9b6ac0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cc9b6ac0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc9b6ac0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling 200 14ms","method":"POST","requestID":"cc9b6ac0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Nn0.xe00I8VVVZWOZ4UUOp9IECQGwMBRg_Suf_u-WMZ7DxI","level":"info","message":"auth send jwt","requestID":"bebeed991bf318f5c2fdaefd624b01ef"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bebeed991bf318f5c2fdaefd624b01ef","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82","requestID":"bebeed991bf318f5c2fdaefd624b01ef"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.281961,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bebeed991bf318f5c2fdaefd624b01ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693266,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Nn0.xe00I8VVVZWOZ4UUOp9IECQGwMBRg_Suf_u-WMZ7DxI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bebeed991bf318f5c2fdaefd624b01ef","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82","requestID":"bebeed991bf318f5c2fdaefd624b01ef"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bebeed991bf318f5c2fdaefd624b01ef"} experiment-1 | {"level":"info","message":"GET /experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82 200 18ms","method":"GET","requestID":"bebeed991bf318f5c2fdaefd624b01ef","responseTime":18,"status":200,"url":"/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Nn0.xe00I8VVVZWOZ4UUOp9IECQGwMBRg_Suf_u-WMZ7DxI","level":"info","message":"auth send jwt","requestID":"1d095bceb31cffb71cb4d686ec155ce3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d095bceb31cffb71cb4d686ec155ce3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82","requestID":"1d095bceb31cffb71cb4d686ec155ce3"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.316426,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1d095bceb31cffb71cb4d686ec155ce3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693266,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Nn0.xe00I8VVVZWOZ4UUOp9IECQGwMBRg_Suf_u-WMZ7DxI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1d095bceb31cffb71cb4d686ec155ce3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Attempting to finish experiment","requestID":"1d095bceb31cffb71cb4d686ec155ce3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ccb49810-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.373231,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ccb49810-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693266,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Nn0.xe00I8VVVZWOZ4UUOp9IECQGwMBRg_Suf_u-WMZ7DxI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ccb49810-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be","device":"92306d04-22f6-41bf-8621-ead2908ebcd3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"66465199-d0bb-48a9-933a-a4e3e2236292","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2abb3b95-6287-42c5-8f23-83df36abf5be","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2abb3b95-6287-42c5-8f23-83df36abf5be': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2abb3b95-6287-42c5-8f23-83df36abf5be","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"8874543f-96c6-40c0-8019-1ecb60c26d29","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.4783332} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7c0c0f5d4e3b40a373e7c094e7a86115","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7c0c0f5d4e3b40a373e7c094e7a86115","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"924f9a8e-4363-4c5e-ada5-c920cc1ab4a3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.4792638} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"ccb49810-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c035695b8bdccb863fe08f88b402c46a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be"}}},"level":"info","message":"received a callback","requestID":"7c0c0f5d4e3b40a373e7c094e7a86115"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c035695b8bdccb863fe08f88b402c46a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be"}}},"level":"info","message":"received a callback","requestID":"c035695b8bdccb863fe08f88b402c46a"} device-1 | {"data":{"peerconnection":"2abb3b95-6287-42c5-8f23-83df36abf5be","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ccb49810-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be 204 60ms","method":"DELETE","requestID":"ccb49810-e324-11ef-a766-ff4094b4009c","responseTime":60,"status":204,"url":"/peerconnections/2abb3b95-6287-42c5-8f23-83df36abf5be"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"},"level":"info","message":"Successfully finished experiment","requestID":"1d095bceb31cffb71cb4d686ec155ce3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ccc1de80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66465199-d0bb-48a9-933a-a4e3e2236292","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37f15f3d-32cc-47db-a3f6-bfb3164df2e7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.5443447} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.75159,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ccc1de80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"ccc1de80-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ccc1de80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling 200 16ms","method":"POST","requestID":"ccc1de80-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/66465199-d0bb-48a9-933a-a4e3e2236292/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2ff84635-7a32-48b8-a3e5-19251ac71a82': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2ff84635-7a32-48b8-a3e5-19251ac71a82","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"ead7e8f5-de42-47fe-b27b-3b3038abfacd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.5542126} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b867e918-ff7d-4ee2-a3a6-d4838321ca73","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.5543773} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ccc4c4b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"1d095bceb31cffb71cb4d686ec155ce3","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92306d04-22f6-41bf-8621-ead2908ebcd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1c43f50-0b7f-4ad0-9289-56b07e6439cd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.5611596} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.993445,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ccc4c4b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ccc4c4b0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ccc4c4b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling 200 13ms","method":"POST","requestID":"ccc4c4b0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/92306d04-22f6-41bf-8621-ead2908ebcd3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82","requestID":"1d095bceb31cffb71cb4d686ec155ce3"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d095bceb31cffb71cb4d686ec155ce3"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2989","request_time":"4.373","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"8e8d68a47ef5b6e3b27353e854e32553"} experiment-1 | {"level":"info","message":"DELETE /experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82 204 193ms","method":"DELETE","requestID":"1d095bceb31cffb71cb4d686ec155ce3","responseTime":193,"status":204,"url":"/experiments/2ff84635-7a32-48b8-a3e5-19251ac71a82"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"7c0c0f5d4e3b40a373e7c094e7a86115","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c0c0f5d4e3b40a373e7c094e7a86115"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"c035695b8bdccb863fe08f88b402c46a","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"c035695b8bdccb863fe08f88b402c46a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Nn0.xe00I8VVVZWOZ4UUOp9IECQGwMBRg_Suf_u-WMZ7DxI","level":"info","message":"auth send jwt","requestID":"7867bb933634d712135ac0bd9e7e69d6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7867bb933634d712135ac0bd9e7e69d6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7867bb933634d712135ac0bd9e7e69d6"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.845","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f5c68506d2e25144c090e42aced9253e"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.971907,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"7867bb933634d712135ac0bd9e7e69d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693266,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Nn0.xe00I8VVVZWOZ4UUOp9IECQGwMBRg_Suf_u-WMZ7DxI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7867bb933634d712135ac0bd9e7e69d6","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/66465199-d0bb-48a9-933a-a4e3e2236292' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"af11fd39-e0ef-4ebd-8c65-61fa9efda5cb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.653904} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7867bb933634d712135ac0bd9e7e69d6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27f7ec54-f9f0-4d0b-99d3-ce309db0babc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.6599832} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/92306d04-22f6-41bf-8621-ead2908ebcd3' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"7867bb933634d712135ac0bd9e7e69d6","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"1737104c-c78b-4f16-81bd-3442eb041fb6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.670464} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"926feada-a36b-464c-8895-7983e216f98e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.6707733} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"7867bb933634d712135ac0bd9e7e69d6","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.670436313Z"}]},"request_id":"ba7b0b46-9b50-4c4c-a6b8-8c78295c1e5c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.6754088} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7867bb933634d712135ac0bd9e7e69d6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7867bb933634d712135ac0bd9e7e69d6"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7867bb933634d712135ac0bd9e7e69d6"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"7867bb933634d712135ac0bd9e7e69d6","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Nn0.xe00I8VVVZWOZ4UUOp9IECQGwMBRg_Suf_u-WMZ7DxI","level":"info","message":"auth send jwt","requestID":"10db8fda8164fa2c739594074c6f8277"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"10db8fda8164fa2c739594074c6f8277","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"10db8fda8164fa2c739594074c6f8277"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.728916,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"10db8fda8164fa2c739594074c6f8277","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693266,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2Nn0.xe00I8VVVZWOZ4UUOp9IECQGwMBRg_Suf_u-WMZ7DxI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"10db8fda8164fa2c739594074c6f8277","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"daabd06e-067d-4e7d-beb3-b657a50743f8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.699234} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"10db8fda8164fa2c739594074c6f8277","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d9bef76-3610-4c7f-b1d5-bb797aca1979","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.7040188} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"10db8fda8164fa2c739594074c6f8277","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"2bebba82-f629-4543-9b5b-606122b8634f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.712966} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e853c790-1c12-429b-bc9c-4aabe0d91596","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.7129872} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"10db8fda8164fa2c739594074c6f8277","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.712945354Z"}]},"request_id":"b141a4de-8aa4-4836-84ff-e7cb117d02df","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693266.7173274} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"10db8fda8164fa2c739594074c6f8277","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"10db8fda8164fa2c739594074c6f8277"} gateway-1 | {"time_local":"04/Feb/2025:18:21:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10db8fda8164fa2c739594074c6f8277"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"10db8fda8164fa2c739594074c6f8277","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2cbdd03c987c655766c3e682271a1912","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2cbdd03c987c655766c3e682271a1912","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2cbdd03c987c655766c3e682271a1912"} device-1 | {"level":"info","message":"OPTIONS /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/websocket 200 1ms","method":"OPTIONS","requestID":"2cbdd03c987c655766c3e682271a1912","responseTime":1,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w","level":"info","message":"auth send jwt","requestID":"bbeeb123cc9c0a7f717de9653ce81842"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bbeeb123cc9c0a7f717de9653ce81842","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bbeeb123cc9c0a7f717de9653ce81842"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"71e88f341f2245a75f81190be78f1dc8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.119849,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"71e88f341f2245a75f81190be78f1dc8","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bbeeb123cc9c0a7f717de9653ce81842","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} gateway-1 | {"time_local":"04/Feb/2025:18:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"71e88f341f2245a75f81190be78f1dc8"} device-1 | {"level":"info","message":"OPTIONS /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/websocket 200 1ms","method":"OPTIONS","requestID":"71e88f341f2245a75f81190be78f1dc8","responseTime":1,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/websocket"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bbeeb123cc9c0a7f717de9653ce81842","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w","level":"info","message":"auth send jwt","requestID":"dc29d74193952b8a52a588f8c87889ef"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"dc29d74193952b8a52a588f8c87889ef","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dc29d74193952b8a52a588f8c87889ef"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700162,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dc29d74193952b8a52a588f8c87889ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc29d74193952b8a52a588f8c87889ef","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bbeeb123cc9c0a7f717de9653ce81842"} device-1 | {"level":"info","message":"POST /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/websocket 200 34ms","method":"POST","requestID":"bbeeb123cc9c0a7f717de9653ce81842","responseTime":34,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bbeeb123cc9c0a7f717de9653ce81842"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dc29d74193952b8a52a588f8c87889ef"} device-1 | {"level":"info","message":"POST /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/websocket 200 29ms","method":"POST","requestID":"dc29d74193952b8a52a588f8c87889ef","responseTime":29,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dc29d74193952b8a52a588f8c87889ef"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w","level":"info","message":"auth send jwt","requestID":"23ae9975510cd0fa116145245d55a3e5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"23ae9975510cd0fa116145245d55a3e5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"23ae9975510cd0fa116145245d55a3e5"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.090735,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"23ae9975510cd0fa116145245d55a3e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"23ae9975510cd0fa116145245d55a3e5","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.670436313Z"}]},"request_id":"8147d140-387e-43d8-af5b-bf9887a093ef","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.7668586} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"23ae9975510cd0fa116145245d55a3e5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"23ae9975510cd0fa116145245d55a3e5"} gateway-1 | {"time_local":"04/Feb/2025:18:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23ae9975510cd0fa116145245d55a3e5"} device-1 | {"level":"info","message":"GET /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd? 200 16ms","method":"GET","requestID":"23ae9975510cd0fa116145245d55a3e5","responseTime":16,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w","level":"info","message":"auth send jwt","requestID":"6de23a2248f5e582a19181334d2f5faf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6de23a2248f5e582a19181334d2f5faf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6de23a2248f5e582a19181334d2f5faf"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184471,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6de23a2248f5e582a19181334d2f5faf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6de23a2248f5e582a19181334d2f5faf","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.712945354Z"}]},"request_id":"8e1ef63a-b018-4c72-b078-aa7d39a46d6e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.790181} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6de23a2248f5e582a19181334d2f5faf","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6de23a2248f5e582a19181334d2f5faf"} gateway-1 | {"time_local":"04/Feb/2025:18:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6de23a2248f5e582a19181334d2f5faf"} device-1 | {"level":"info","message":"GET /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665? 200 17ms","method":"GET","requestID":"6de23a2248f5e582a19181334d2f5faf","responseTime":17,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w","level":"info","message":"auth send jwt","requestID":"3cbda34db798a2d0fb55746d1b44099f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3cbda34db798a2d0fb55746d1b44099f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3cbda34db798a2d0fb55746d1b44099f"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.199685,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3cbda34db798a2d0fb55746d1b44099f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3cbda34db798a2d0fb55746d1b44099f","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Attempting to run experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Attempting to book experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Successfully booked experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce240690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce2454b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771304,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce240690-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ce240690-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907855,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce2454b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ce2454b0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.670436313Z"}]},"request_id":"ea3252af-bd63-467b-bc9a-2c5022975e84","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.8695667} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ce240690-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.712945354Z"}]},"request_id":"46b4631b-dd8b-4543-a5bd-fde81e9554db","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.8705263} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ce2454b0-e324-11ef-a766-ff4094b4009c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce240690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd? 200 18ms","method":"GET","requestID":"ce240690-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce2454b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665? 200 17ms","method":"GET","requestID":"ce2454b0-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Setting up experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Successfully set up experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce2e8de0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ce2edc00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce2f2a20-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Successfully running experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74392,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce2e8de0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ce2e8de0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881722,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce2edc00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ce2edc00-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.538844,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"384d754c-d929-4c6a-93bf-8c6c8c2f4eca","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.93706} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce2f2a20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ce2f2a20-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.712945354Z"}]},"request_id":"efd9cef0-2ee3-4828-82b1-3cc33785d106","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.9389057} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"ce2edc00-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.670436313Z"}]},"request_id":"4de5e2ce-4f2b-448b-b69d-a5e953380e3c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.9421244} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ce2e8de0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce2f2a20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling 200 15ms","method":"POST","requestID":"ce2f2a20-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce321050-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fae1cf402-834d-40ae-8f29-2ac0a3e1d87b#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fae1cf402-834d-40ae-8f29-2ac0a3e1d87b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"351a684f-7dfc-4feb-901c-ab70d836ebaf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.9495406} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c444695d-7b1f-47a5-93cf-0b24097cd1d1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.9496942} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce2edc00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"3cbda34db798a2d0fb55746d1b44099f","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665? 200 24ms","method":"GET","requestID":"ce2edc00-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ce2e8de0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} device-1 | {"level":"info","message":"GET /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd? 200 28ms","method":"GET","requestID":"ce2e8de0-e324-11ef-a766-ff4094b4009c","responseTime":28,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf588463-a4b3-4d4b-9d32-200a783fa0cd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.9571536} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.093777,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce321050-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ce321050-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce3396f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3cbda34db798a2d0fb55746d1b44099f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce321050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling 200 15ms","method":"POST","requestID":"ce321050-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 159ms","method":"POST","requestID":"3cbda34db798a2d0fb55746d1b44099f","responseTime":159,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3cbda34db798a2d0fb55746d1b44099f"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7aa9b0c2-21ef-4ccd-9f68-c960782be066","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.964293} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.106226,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce3396f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ce3396f0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce3396f0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w","level":"info","message":"auth send jwt","requestID":"080ec3eaad5968f612442c8550b05a40"} device-1 | {"level":"info","message":"POST /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling 200 11ms","method":"POST","requestID":"ce3396f0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"080ec3eaad5968f612442c8550b05a40","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"080ec3eaad5968f612442c8550b05a40"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce3592c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690709,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"080ec3eaad5968f612442c8550b05a40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"080ec3eaad5968f612442c8550b05a40","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b86624f-eaee-41d5-b71b-5a178d7b5667","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.9761746} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.464525,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce3592c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ce3592c0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.670436313Z"}]},"request_id":"b3eafd2f-ae17-49d5-84b3-be72d2d69758","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.979817} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce3592c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling 200 8ms","method":"POST","requestID":"ce3592c0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"080ec3eaad5968f612442c8550b05a40","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Building connection plan","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"3c11c99b-e305-4625-925d-dbd7590537d1"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"8ca981da-4344-4341-8151-f4f0a27d0a37"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"a845cfe0-ee70-4300-852d-981bf9cc02bb"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3cbda34db798a2d0fb55746d1b44099f"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3cbda34db798a2d0fb55746d1b44099f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ce374070-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"080ec3eaad5968f612442c8550b05a40"} gateway-1 | {"time_local":"04/Feb/2025:18:21:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"080ec3eaad5968f612442c8550b05a40"} device-1 | {"level":"info","message":"GET /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd? 200 14ms","method":"GET","requestID":"080ec3eaad5968f612442c8550b05a40","responseTime":14,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd?"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.687791,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce374070-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ce374070-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w","level":"info","message":"auth send jwt","requestID":"21c824baf1b16ebc6a07f0ebbafa5b49"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21c824baf1b16ebc6a07f0ebbafa5b49","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"21c824baf1b16ebc6a07f0ebbafa5b49"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907037,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"21c824baf1b16ebc6a07f0ebbafa5b49","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693268,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OH0.7ZVL5_dc6c1GMJli8tOiD6rpE6Q1L3yfWg-Ds_3lz6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"21c824baf1b16ebc6a07f0ebbafa5b49","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"306d4cfb-5db3-4c92-aac0-c6c92ed85f03","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.9964879} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20920bed-e30c-419b-a0f7-02fd54320868","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.9974108} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:06.712945354Z"}]},"request_id":"86ab72b9-f1c6-4bce-93aa-77e7e6c5b2d7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693268.9982917} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"ce374070-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"21c824baf1b16ebc6a07f0ebbafa5b49","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"21c824baf1b16ebc6a07f0ebbafa5b49"} gateway-1 | {"time_local":"04/Feb/2025:18:21:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21c824baf1b16ebc6a07f0ebbafa5b49"} device-1 | {"level":"info","message":"GET /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665? 200 13ms","method":"GET","requestID":"21c824baf1b16ebc6a07f0ebbafa5b49","responseTime":14,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ce374070-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ce374070-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b'","requestID":"ce374070-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b'","requestID":"ce374070-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ce374070-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"ce374070-e324-11ef-a766-ff4094b4009c","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"ce374070-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b","device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b","device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3cbda34db798a2d0fb55746d1b44099f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce410470-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b14e7145-a3a1-4b9b-b165-997792ad20cd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.0518951} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.444212,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce410470-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ce410470-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce410470-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling 200 9ms","method":"POST","requestID":"ce410470-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce42b220-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e07f5d52-bc20-4885-8103-f29b71950ba9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.0623653} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.404789,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce42b220-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ce42b220-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce42b220-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling 200 9ms","method":"POST","requestID":"ce42b220-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling"} device-1 | {"device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1627099599404740916 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:ReCB\r\na=ice-pwd:4rdS3OIeSpmHPeIFa3KggJOn\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BE:96:B8:82:38:C8:3C:BB:66:AB:38:AD:07:6E:85:63:DF:A8:06:67:F9:27:8F:D3:7C:96:3C:7F:70:12:12:D7\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1430235513230294028 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Cjxq\r\na=ice-pwd:sIACeeLP3vkiYkp50VjUubSC\r\na=ice-options:trickle\r\na=fingerprint:sha-256 3E:33:52:75:DC:C6:08:29:28:77:04:AE:6D:6B:91:DE:F5:3B:A6:1A:48:57:D8:B3:AF:5B:46:AA:F5:15:1F:97\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:993072462 1 udp 2113937151 08c813bc-43ac-4987-89a2-4fa3f7f53c30.local 45352 typ host generation 0 ufrag Cjxq network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2820322397 1 udp 1677729535 141.24.211.56 45352 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag Cjxq network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd'"} device-1 | {"content":{"candidate":"candidate:3570118488 1 udp 2113937151 0c13b133-161b-4538-9a5b-615277c532bd.local 51037 typ host generation 0 ufrag ReCB network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1205866059 1 udp 1677729535 141.24.211.56 51037 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag ReCB network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665'"} device-1 | {"device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ea85a9da-ae47-4943-9272-14fa65498d6b","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3dd2e217e16f4dc3f6dcadc51d68f7e0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3dd2e217e16f4dc3f6dcadc51d68f7e0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b"}}},"level":"info","message":"received a callback","requestID":"3dd2e217e16f4dc3f6dcadc51d68f7e0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"3dd2e217e16f4dc3f6dcadc51d68f7e0","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"3dd2e217e16f4dc3f6dcadc51d68f7e0"} device-1 | {"device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"ea85a9da-ae47-4943-9272-14fa65498d6b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ea85a9da-ae47-4943-9272-14fa65498d6b","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ea85a9da-ae47-4943-9272-14fa65498d6b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"def36104b4d8600c674dffa8376a5fb2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"def36104b4d8600c674dffa8376a5fb2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b"}}},"level":"info","message":"received a callback","requestID":"def36104b4d8600c674dffa8376a5fb2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ce541740-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fea85a9da-ae47-4943-9272-14fa65498d6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39a7cf19-da16-4860-9ee0-5aac7b71611d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.1772327} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.627279,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce541740-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ce541740-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ce541740-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b 200 10ms","method":"GET","requestID":"ce541740-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"def36104b4d8600c674dffa8376a5fb2","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"def36104b4d8600c674dffa8376a5fb2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce58ab20-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12ff6f7e-898c-4f40-9a5e-f2117e6f524e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.2072809} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.699145,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce58ab20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ce58ab20-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce58ab20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling 200 10ms","method":"POST","requestID":"ce58ab20-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce5aa6f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44ea3666-aa58-4001-a468-0b8e5462ca0a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.2216492} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.795259,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ce5aa6f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ce5aa6f0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce5aa6f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling 200 12ms","method":"POST","requestID":"ce5aa6f0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OX0.ToLGyg8X8qaNFPBzAJpAJkllnlyD4WekXHZg6YGbv8Y","level":"info","message":"auth send jwt","requestID":"4feb248a182df4a007fee33373b07cdb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4feb248a182df4a007fee33373b07cdb","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b","requestID":"4feb248a182df4a007fee33373b07cdb"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.334236,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4feb248a182df4a007fee33373b07cdb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693269,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OX0.ToLGyg8X8qaNFPBzAJpAJkllnlyD4WekXHZg6YGbv8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4feb248a182df4a007fee33373b07cdb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b","requestID":"4feb248a182df4a007fee33373b07cdb"} gateway-1 | {"time_local":"04/Feb/2025:18:21:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4feb248a182df4a007fee33373b07cdb"} experiment-1 | {"level":"info","message":"GET /experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b 200 18ms","method":"GET","requestID":"4feb248a182df4a007fee33373b07cdb","responseTime":18,"status":200,"url":"/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OX0.ToLGyg8X8qaNFPBzAJpAJkllnlyD4WekXHZg6YGbv8Y","level":"info","message":"auth send jwt","requestID":"2116f38cf0f8b16cb175a108d13da67c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2116f38cf0f8b16cb175a108d13da67c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b","requestID":"2116f38cf0f8b16cb175a108d13da67c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.185753,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2116f38cf0f8b16cb175a108d13da67c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693269,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OX0.ToLGyg8X8qaNFPBzAJpAJkllnlyD4WekXHZg6YGbv8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2116f38cf0f8b16cb175a108d13da67c","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Attempting to finish experiment","requestID":"2116f38cf0f8b16cb175a108d13da67c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cebe23b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.397907,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cebe23b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693269,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI2OX0.ToLGyg8X8qaNFPBzAJpAJkllnlyD4WekXHZg6YGbv8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cebe23b0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b","device":"ac8e2a5c-be66-4779-92ba-888f5055d0bd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b","device":"d477e327-ce09-44a7-a812-aaf8ce2e3665","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ea85a9da-ae47-4943-9272-14fa65498d6b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fea85a9da-ae47-4943-9272-14fa65498d6b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fea85a9da-ae47-4943-9272-14fa65498d6b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"b7020918-2596-48b2-8bcb-3572863b5aba","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.8955166} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bdb1341c5849d16f797f83db6b9b7741","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0223607-e5f1-4243-bbca-81bdfc76fd39","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.8960493} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bdb1341c5849d16f797f83db6b9b7741","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"563cbcbb7eb3b8cefadef8123e2f3722","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b"}}},"level":"info","message":"received a callback","requestID":"bdb1341c5849d16f797f83db6b9b7741"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"cebe23b0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"563cbcbb7eb3b8cefadef8123e2f3722","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b"}}},"level":"info","message":"received a callback","requestID":"563cbcbb7eb3b8cefadef8123e2f3722"} device-1 | {"data":{"peerconnection":"ea85a9da-ae47-4943-9272-14fa65498d6b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cebe23b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b 204 60ms","method":"DELETE","requestID":"cebe23b0-e324-11ef-a766-ff4094b4009c","responseTime":60,"status":204,"url":"/peerconnections/ea85a9da-ae47-4943-9272-14fa65498d6b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"},"level":"info","message":"Successfully finished experiment","requestID":"2116f38cf0f8b16cb175a108d13da67c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cecb6a20-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac8e2a5c-be66-4779-92ba-888f5055d0bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ec9f038-49ed-4d61-9b2b-74f203106c30","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.963399} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.375724,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cecb6a20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"cecb6a20-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fae1cf402-834d-40ae-8f29-2ac0a3e1d87b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fae1cf402-834d-40ae-8f29-2ac0a3e1d87b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"8e25d866-ff89-47e5-bcd3-a318d2a69f17","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.9709353} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cecb6a20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling 200 17ms","method":"POST","requestID":"cecb6a20-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce5f35b0-fc47-4ebc-808f-159b27e08001","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.9710639} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"2116f38cf0f8b16cb175a108d13da67c","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cece9e70-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd477e327-ce09-44a7-a812-aaf8ce2e3665","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68dcbee6-c662-455d-8e2d-9c79c8a0f034","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693269.9817502} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.694485,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cece9e70-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"cece9e70-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cece9e70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling 200 13ms","method":"POST","requestID":"cece9e70-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b","requestID":"2116f38cf0f8b16cb175a108d13da67c"} gateway-1 | {"time_local":"04/Feb/2025:18:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2116f38cf0f8b16cb175a108d13da67c"} experiment-1 | {"level":"info","message":"DELETE /experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b 204 188ms","method":"DELETE","requestID":"2116f38cf0f8b16cb175a108d13da67c","responseTime":188,"status":204,"url":"/experiments/ae1cf402-834d-40ae-8f29-2ac0a3e1d87b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"bdb1341c5849d16f797f83db6b9b7741","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"bdb1341c5849d16f797f83db6b9b7741"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"563cbcbb7eb3b8cefadef8123e2f3722","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"563cbcbb7eb3b8cefadef8123e2f3722"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3MH0.PVMgHmAO4A4uvKSdmA4Nmp38KV8vKcxYkUK2okqea6w","level":"info","message":"auth send jwt","requestID":"04fe70233ada24379a37f0ef3a29fbbd"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"04fe70233ada24379a37f0ef3a29fbbd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"04fe70233ada24379a37f0ef3a29fbbd"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:10Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.877085,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:10Z"} gateway-1 | {"time_local":"04/Feb/2025:18:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2630","request_time":"1.327","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bbbf7c8bd89b4b4752ba13900a8c3b7e"} gateway-1 | {"time_local":"04/Feb/2025:18:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2631","request_time":"1.317","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7496976035823b76ccbc35b0610d1780"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"04fe70233ada24379a37f0ef3a29fbbd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693270,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3MH0.PVMgHmAO4A4uvKSdmA4Nmp38KV8vKcxYkUK2okqea6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"04fe70233ada24379a37f0ef3a29fbbd","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d477e327-ce09-44a7-a812-aaf8ce2e3665' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ac8e2a5c-be66-4779-92ba-888f5055d0bd' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2b65e761-2b61-47dd-a0e8-b9938e0713c6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.0683475} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"04fe70233ada24379a37f0ef3a29fbbd","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27c243b6-1706-4245-8b8a-700edd2e4894","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.073704} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"04fe70233ada24379a37f0ef3a29fbbd","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"36ad8618-476a-4280-b780-26833ceb2890","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.0883493} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe5994be-f327-4b37-8df7-245876f7964f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.0885286} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"04fe70233ada24379a37f0ef3a29fbbd","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.088333536Z"}]},"request_id":"c12b79ac-d228-494a-b2fb-d87b3b9a8748","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.0928786} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"04fe70233ada24379a37f0ef3a29fbbd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"04fe70233ada24379a37f0ef3a29fbbd"} gateway-1 | {"time_local":"04/Feb/2025:18:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04fe70233ada24379a37f0ef3a29fbbd"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"04fe70233ada24379a37f0ef3a29fbbd","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3MH0.PVMgHmAO4A4uvKSdmA4Nmp38KV8vKcxYkUK2okqea6w","level":"info","message":"auth send jwt","requestID":"76e92347515cd70cf3694d6b8fbcf750"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"76e92347515cd70cf3694d6b8fbcf750","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"76e92347515cd70cf3694d6b8fbcf750"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:10Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.895979,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"76e92347515cd70cf3694d6b8fbcf750","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693270,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3MH0.PVMgHmAO4A4uvKSdmA4Nmp38KV8vKcxYkUK2okqea6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"76e92347515cd70cf3694d6b8fbcf750","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eaff52d1-d4e8-4278-8174-83d2860a09fe","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.120272} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"76e92347515cd70cf3694d6b8fbcf750","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13dd3038-0b5e-4178-8a76-18c7efbb8c79","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.1258438} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"76e92347515cd70cf3694d6b8fbcf750","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"f12691d9-80fd-43df-b49a-8c4f4e571b0f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.1372917} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"424fe1bb-41d4-4f54-8ceb-e01875b5d2e6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.137693} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"76e92347515cd70cf3694d6b8fbcf750","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.137275043Z"}]},"request_id":"eff5277d-4d32-4df1-9d9e-7e44c2796251","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.143725} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"76e92347515cd70cf3694d6b8fbcf750","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"76e92347515cd70cf3694d6b8fbcf750"} gateway-1 | {"time_local":"04/Feb/2025:18:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"76e92347515cd70cf3694d6b8fbcf750"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"76e92347515cd70cf3694d6b8fbcf750","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3MH0.PVMgHmAO4A4uvKSdmA4Nmp38KV8vKcxYkUK2okqea6w","level":"info","message":"auth send jwt","requestID":"109a91efc3cfaf7c9db85f752e669b9a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"109a91efc3cfaf7c9db85f752e669b9a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"109a91efc3cfaf7c9db85f752e669b9a"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:10Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.993632,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"109a91efc3cfaf7c9db85f752e669b9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693270,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3MH0.PVMgHmAO4A4uvKSdmA4Nmp38KV8vKcxYkUK2okqea6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"109a91efc3cfaf7c9db85f752e669b9a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.137275043Z"}]},"request_id":"126c6b1f-64e4-4b24-8948-b4ffac1eee0e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.6211872} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"109a91efc3cfaf7c9db85f752e669b9a","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ebad591-fe15-4313-9c38-51be997e63e9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.6289241} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"109a91efc3cfaf7c9db85f752e669b9a","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.137275043Z"}]},"request_id":"36b9a10a-3408-4b10-b530-c7ca839c141c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693270.6579506} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"109a91efc3cfaf7c9db85f752e669b9a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"109a91efc3cfaf7c9db85f752e669b9a"} device-1 | {"level":"info","message":"PATCH /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69 200 54ms","method":"PATCH","requestID":"109a91efc3cfaf7c9db85f752e669b9a","responseTime":54,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69"} gateway-1 | {"time_local":"04/Feb/2025:18:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"109a91efc3cfaf7c9db85f752e669b9a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3MH0.PVMgHmAO4A4uvKSdmA4Nmp38KV8vKcxYkUK2okqea6w","level":"info","message":"auth send jwt","requestID":"43c0688ab37cc9e5d1a95406bb91b492"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"43c0688ab37cc9e5d1a95406bb91b492","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"43c0688ab37cc9e5d1a95406bb91b492"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:10Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.380357,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"43c0688ab37cc9e5d1a95406bb91b492","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693270,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3MH0.PVMgHmAO4A4uvKSdmA4Nmp38KV8vKcxYkUK2okqea6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"43c0688ab37cc9e5d1a95406bb91b492","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"43c0688ab37cc9e5d1a95406bb91b492"} gateway-1 | {"time_local":"04/Feb/2025:18:21:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"43c0688ab37cc9e5d1a95406bb91b492"} device-1 | {"level":"info","message":"POST /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/websocket 200 24ms","method":"POST","requestID":"43c0688ab37cc9e5d1a95406bb91b492","responseTime":24,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"19faed0ae21a1c0a5e24e58e7839abaa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"19faed0ae21a1c0a5e24e58e7839abaa","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7641ee3c-7604-4ab0-91a4-c514144afbec/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"19faed0ae21a1c0a5e24e58e7839abaa"} device-1 | {"level":"info","message":"OPTIONS /devices/7641ee3c-7604-4ab0-91a4-c514144afbec/websocket 200 1ms","method":"OPTIONS","requestID":"19faed0ae21a1c0a5e24e58e7839abaa","responseTime":1,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0","level":"info","message":"auth send jwt","requestID":"716cc4e43f31b39381e49bc34fc9134d"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"716cc4e43f31b39381e49bc34fc9134d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"716cc4e43f31b39381e49bc34fc9134d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.257875,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"716cc4e43f31b39381e49bc34fc9134d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"716cc4e43f31b39381e49bc34fc9134d","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"716cc4e43f31b39381e49bc34fc9134d"} gateway-1 | {"time_local":"04/Feb/2025:18:21:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7641ee3c-7604-4ab0-91a4-c514144afbec/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"716cc4e43f31b39381e49bc34fc9134d"} device-1 | {"level":"info","message":"POST /devices/7641ee3c-7604-4ab0-91a4-c514144afbec/websocket 200 31ms","method":"POST","requestID":"716cc4e43f31b39381e49bc34fc9134d","responseTime":31,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0","level":"info","message":"auth send jwt","requestID":"9ee42d8007e9d2dd8985b7b832c3b8ff"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9ee42d8007e9d2dd8985b7b832c3b8ff","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ee42d8007e9d2dd8985b7b832c3b8ff"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.411801,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"9ee42d8007e9d2dd8985b7b832c3b8ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ee42d8007e9d2dd8985b7b832c3b8ff","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.088333536Z"}]},"request_id":"44df48e8-0fb9-4a94-b746-f35315073561","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.253555} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"9ee42d8007e9d2dd8985b7b832c3b8ff","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ee42d8007e9d2dd8985b7b832c3b8ff"} gateway-1 | {"time_local":"04/Feb/2025:18:21:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7641ee3c-7604-4ab0-91a4-c514144afbec? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ee42d8007e9d2dd8985b7b832c3b8ff"} device-1 | {"level":"info","message":"GET /devices/7641ee3c-7604-4ab0-91a4-c514144afbec? 200 18ms","method":"GET","requestID":"9ee42d8007e9d2dd8985b7b832c3b8ff","responseTime":18,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0","level":"info","message":"auth send jwt","requestID":"3286c801ac350832811c54bc0d7c906e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3286c801ac350832811c54bc0d7c906e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3286c801ac350832811c54bc0d7c906e"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.398027,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3286c801ac350832811c54bc0d7c906e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3286c801ac350832811c54bc0d7c906e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.137275043Z"}]},"request_id":"663a3dc9-47a4-4baa-8774-5bd269257001","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.280548} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3286c801ac350832811c54bc0d7c906e","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3286c801ac350832811c54bc0d7c906e"} gateway-1 | {"time_local":"04/Feb/2025:18:21:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3286c801ac350832811c54bc0d7c906e"} device-1 | {"level":"info","message":"GET /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69? 200 20ms","method":"GET","requestID":"3286c801ac350832811c54bc0d7c906e","responseTime":20,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0","level":"info","message":"auth send jwt","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7dbeff4991882eaca46c9cbfcc153b62","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.267039,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"7dbeff4991882eaca46c9cbfcc153b62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7dbeff4991882eaca46c9cbfcc153b62","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Attempting to run experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Attempting to book experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Successfully booked experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d038b5c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d03903e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.665969,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d038b5c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d038b5c0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.641172,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d03903e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d03903e0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.088333536Z"}]},"request_id":"df6f76b8-2110-42ea-bb2a-fd02a22c99f6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.3629215} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d038b5c0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.137275043Z"}]},"request_id":"6cfa4183-cbf1-42cb-a8c2-8947eeb2b7d0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.3658197} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d03903e0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d038b5c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/7641ee3c-7604-4ab0-91a4-c514144afbec? 200 26ms","method":"GET","requestID":"d038b5c0-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d03903e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69? 200 26ms","method":"GET","requestID":"d03903e0-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Setting up experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Successfully set up experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d04511d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d04538e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0458700-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Successfully running experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928734,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d04511d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d04511d0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.367772,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d04538e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d04538e0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.257001,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b23dab3-5cbe-45ad-b956-e41d5a7126ce","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.4389322} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d0458700-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d0458700-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0458700-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.088333536Z"}]},"request_id":"cf46b23b-a7ca-4f3d-bcb8-5acd82c032a7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.4441764} device-1 | {"level":"info","message":"POST /devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling 200 13ms","method":"POST","requestID":"d0458700-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d04511d0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.137275043Z"}]},"request_id":"3bba1469-53cc-48ba-8456-57660cc7dd4b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.445879} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0481f10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"d04538e0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa522e20f-25e5-4dc4-b608-740f047d9176#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa522e20f-25e5-4dc4-b608-740f047d9176","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"f9ff7e94-b3e6-492d-b23f-b41ee2426d88","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.4519157} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d04511d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/7641ee3c-7604-4ab0-91a4-c514144afbec? 200 25ms","method":"GET","requestID":"d04511d0-e324-11ef-a766-ff4094b4009c","responseTime":25,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2cd6236e-2f00-45e1-969a-803002060871","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.4523904} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d04538e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"7dbeff4991882eaca46c9cbfcc153b62","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69? 200 27ms","method":"GET","requestID":"d04538e0-e324-11ef-a766-ff4094b4009c","responseTime":27,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69?"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa9999c5-3a07-487a-8b03-375ec4fb94da","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.4567373} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.122103,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d0481f10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d0481f10-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d049a5b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0481f10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling 200 15ms","method":"POST","requestID":"d0481f10-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37972f1b-0c44-452b-a183-7991f34ca083","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.4648793} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.372147,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d049a5b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d049a5b0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:18:21:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"7dbeff4991882eaca46c9cbfcc153b62","responseTime":171,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d049a5b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling 200 11ms","method":"POST","requestID":"d049a5b0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0","level":"info","message":"auth send jwt","requestID":"5226a8fa65bd60ad5cc2cb91261b9cea"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d04bc890-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5226a8fa65bd60ad5cc2cb91261b9cea","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5226a8fa65bd60ad5cc2cb91261b9cea"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d7cef7c-0551-49fe-b67a-6d63351f4b80","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.478046} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789398,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.437811,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5226a8fa65bd60ad5cc2cb91261b9cea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5226a8fa65bd60ad5cc2cb91261b9cea","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d04bc890-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d04bc890-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.088333536Z"}]},"request_id":"917c0db2-636e-49e2-ac6d-de89af04d969","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.483374} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d04bc890-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling 200 11ms","method":"POST","requestID":"d04bc890-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5226a8fa65bd60ad5cc2cb91261b9cea","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Building connection plan","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"e36f0452-6937-4f98-9e4f-6ad3ea077ccc"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"aad3d43e-c7e0-44e6-a7b7-f397d8d6c735"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"4a7e92ed-4143-4400-876a-c729d576427c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5226a8fa65bd60ad5cc2cb91261b9cea"} gateway-1 | {"time_local":"04/Feb/2025:18:21:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7641ee3c-7604-4ab0-91a4-c514144afbec? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5226a8fa65bd60ad5cc2cb91261b9cea"} device-1 | {"level":"info","message":"GET /devices/7641ee3c-7604-4ab0-91a4-c514144afbec? 200 14ms","method":"GET","requestID":"5226a8fa65bd60ad5cc2cb91261b9cea","responseTime":14,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec?"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.896965,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d04deb70-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0","level":"info","message":"auth send jwt","requestID":"b23a27c9064c3fde501e1f458c20e1b3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b23a27c9064c3fde501e1f458c20e1b3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b23a27c9064c3fde501e1f458c20e1b3"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676801,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b23a27c9064c3fde501e1f458c20e1b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693272,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3Mn0.bTnuEZNiL9eiD04s8oatlRLGcAdbOz0OsFd-wxs4Mn0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b23a27c9064c3fde501e1f458c20e1b3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"e7a50337-4cfa-4667-acab-acda72b1b9e7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.500684} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c51c2e47-20cb-4604-b5bf-e9af124fd9d4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.5008926} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:10.137275043Z"}]},"request_id":"9360bd27-721c-436f-a1ff-c0d03a0732b7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.5018463} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b23a27c9064c3fde501e1f458c20e1b3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b23a27c9064c3fde501e1f458c20e1b3"} gateway-1 | {"time_local":"04/Feb/2025:18:21:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b23a27c9064c3fde501e1f458c20e1b3"} device-1 | {"level":"info","message":"GET /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69? 200 14ms","method":"GET","requestID":"b23a27c9064c3fde501e1f458c20e1b3","responseTime":14,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0'","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0'","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 35ms","method":"POST","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c","responseTime":35,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d04deb70-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0","device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7dbeff4991882eaca46c9cbfcc153b62"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d058c0e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} device-1 | {"device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84cc9e90-961d-4c98-b0c0-93d318778806","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.5628877} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.513586,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d058c0e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d058c0e0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 4874888928426574658 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:6TV1\r\na=ice-pwd:0/D7CRYQW7HWSsll2vNRUyI2\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E9:A5:31:91:8C:99:EE:A3:86:EB:AE:BD:21:6F:1F:0D:41:32:5F:00:B5:91:A5:D5:0F:92:83:61:6C:37:0F:5D\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d058c0e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling 200 12ms","method":"POST","requestID":"d058c0e0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d05b0ad0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4924a4c-167c-4233-8f03-3656b73a9908","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693272.5780864} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.281447,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d05b0ad0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d05b0ad0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d05b0ad0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling 200 9ms","method":"POST","requestID":"d05b0ad0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling"} device-1 | {"device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"e9798195-afb8-4f36-bc72-d5912be1a9b0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e9798195-afb8-4f36-bc72-d5912be1a9b0","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"624f2cb524f2737bfa48eabe4bf6ecc1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"624f2cb524f2737bfa48eabe4bf6ecc1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0"}}},"level":"info","message":"received a callback","requestID":"624f2cb524f2737bfa48eabe4bf6ecc1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"624f2cb524f2737bfa48eabe4bf6ecc1","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"624f2cb524f2737bfa48eabe4bf6ecc1"} device-1 | {"content":{"candidate":"candidate:1836876474 1 udp 2113937151 065a783f-b708-4db5-bdc3-758ec053a241.local 43416 typ host generation 0 ufrag 6TV1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3914459333 1 udp 1677729535 141.24.211.56 43416 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 6TV1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3126613838 1 udp 33562623 141.24.210.113 64567 typ relay raddr 141.24.211.56 rport 43416 generation 0 ufrag 6TV1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec'"} device-1 | {"data":{"peerconnection":"e9798195-afb8-4f36-bc72-d5912be1a9b0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"e9798195-afb8-4f36-bc72-d5912be1a9b0","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e9798195-afb8-4f36-bc72-d5912be1a9b0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1705ae71385a9f20347f9273bcab44f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1705ae71385a9f20347f9273bcab44f8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0"}}},"level":"info","message":"received a callback","requestID":"1705ae71385a9f20347f9273bcab44f8"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d1951170-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe9798195-afb8-4f36-bc72-d5912be1a9b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38947abc-20c8-4f72-abbe-36fbac667dfd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693274.6364357} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.838559,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d1951170-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d1951170-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d1951170-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0 200 10ms","method":"GET","requestID":"d1951170-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"1705ae71385a9f20347f9273bcab44f8","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"1705ae71385a9f20347f9273bcab44f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d199f370-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25e6ccb9-3a83-4288-ba9c-2434729c1740","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693274.668336} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.577033,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d199f370-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d199f370-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d199f370-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling 200 10ms","method":"POST","requestID":"d199f370-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d19bc830-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db91509e-eded-4675-8755-d2d0fe2ca724","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693274.679471} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.425176,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d19bc830-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d19bc830-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d19bc830-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling 200 9ms","method":"POST","requestID":"d19bc830-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NH0.aDRiaJNyaOfpHbK0gxfFfNG5S5osajfmD_nVuFKF7Lg","level":"info","message":"auth send jwt","requestID":"a41170c82fb466e9ddf3eb2a388df680"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a41170c82fb466e9ddf3eb2a388df680","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a522e20f-25e5-4dc4-b608-740f047d9176","requestID":"a41170c82fb466e9ddf3eb2a388df680"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.22895,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a41170c82fb466e9ddf3eb2a388df680","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693274,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NH0.aDRiaJNyaOfpHbK0gxfFfNG5S5osajfmD_nVuFKF7Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a41170c82fb466e9ddf3eb2a388df680","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a522e20f-25e5-4dc4-b608-740f047d9176","requestID":"a41170c82fb466e9ddf3eb2a388df680"} experiment-1 | {"level":"info","message":"GET /experiments/a522e20f-25e5-4dc4-b608-740f047d9176 200 16ms","method":"GET","requestID":"a41170c82fb466e9ddf3eb2a388df680","responseTime":16,"status":200,"url":"/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"} gateway-1 | {"time_local":"04/Feb/2025:18:21:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a522e20f-25e5-4dc4-b608-740f047d9176 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a41170c82fb466e9ddf3eb2a388df680"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NH0.aDRiaJNyaOfpHbK0gxfFfNG5S5osajfmD_nVuFKF7Lg","level":"info","message":"auth send jwt","requestID":"952a088645a5037659dce65809cbd564"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"952a088645a5037659dce65809cbd564","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a522e20f-25e5-4dc4-b608-740f047d9176","requestID":"952a088645a5037659dce65809cbd564"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.637744,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"952a088645a5037659dce65809cbd564","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693274,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NH0.aDRiaJNyaOfpHbK0gxfFfNG5S5osajfmD_nVuFKF7Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"952a088645a5037659dce65809cbd564","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Attempting to finish experiment","requestID":"952a088645a5037659dce65809cbd564"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d1c2b120-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.602321,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d1c2b120-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693274,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NH0.aDRiaJNyaOfpHbK0gxfFfNG5S5osajfmD_nVuFKF7Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d1c2b120-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0","device":"7641ee3c-7604-4ab0-91a4-c514144afbec","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4db793ed-335d-4ff7-a42f-87098ae4cf69","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e9798195-afb8-4f36-bc72-d5912be1a9b0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d7cf43eba72d548a481c0ba523f5d78d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d7cf43eba72d548a481c0ba523f5d78d","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7dbdcafaca1e7728e7cdf9afd97ccef7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7dbdcafaca1e7728e7cdf9afd97ccef7","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0"}}},"level":"info","message":"received a callback","requestID":"d7cf43eba72d548a481c0ba523f5d78d"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe9798195-afb8-4f36-bc72-d5912be1a9b0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe9798195-afb8-4f36-bc72-d5912be1a9b0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"07d3ff6d-b16a-4126-9730-ad58166bee0b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693274.9666371} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18ae596a-c250-4765-b37e-e4bacc21964d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693274.9674964} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0"}}},"level":"info","message":"received a callback","requestID":"7dbdcafaca1e7728e7cdf9afd97ccef7"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"d1c2b120-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"e9798195-afb8-4f36-bc72-d5912be1a9b0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d1c2b120-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0 204 73ms","method":"DELETE","requestID":"d1c2b120-e324-11ef-a766-ff4094b4009c","responseTime":73,"status":204,"url":"/peerconnections/e9798195-afb8-4f36-bc72-d5912be1a9b0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"},"level":"info","message":"Successfully finished experiment","requestID":"952a088645a5037659dce65809cbd564"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d1d093d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4db793ed-335d-4ff7-a42f-87098ae4cf69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1e6ce12-f1b9-4cdc-b351-ed294f7b1763","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.0259786} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448795,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d1d093d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d1d093d0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d1d093d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling 200 10ms","method":"POST","requestID":"d1d093d0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d1d26890-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa522e20f-25e5-4dc4-b608-740f047d9176': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa522e20f-25e5-4dc4-b608-740f047d9176","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"ca0813eb-c20e-4170-a42b-409411956067","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.0346725} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef923fc1-0cb4-4325-8bbd-7efe325b324f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.0350375} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"952a088645a5037659dce65809cbd564","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7641ee3c-7604-4ab0-91a4-c514144afbec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e4c5efe-026d-4185-93b0-9b964be1804b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.0375617} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.452222,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d1d26890-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d1d26890-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d1d26890-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling 200 9ms","method":"POST","requestID":"d1d26890-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/7641ee3c-7604-4ab0-91a4-c514144afbec/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a522e20f-25e5-4dc4-b608-740f047d9176","requestID":"952a088645a5037659dce65809cbd564"} gateway-1 | {"time_local":"04/Feb/2025:18:21:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a522e20f-25e5-4dc4-b608-740f047d9176 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"952a088645a5037659dce65809cbd564"} gateway-1 | {"time_local":"04/Feb/2025:18:21:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2975","request_time":"4.398","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"3a5a1f3a8476723edc3d956153f2af54"} experiment-1 | {"level":"info","message":"DELETE /experiments/a522e20f-25e5-4dc4-b608-740f047d9176 204 182ms","method":"DELETE","requestID":"952a088645a5037659dce65809cbd564","responseTime":182,"status":204,"url":"/experiments/a522e20f-25e5-4dc4-b608-740f047d9176"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"d7cf43eba72d548a481c0ba523f5d78d","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"d7cf43eba72d548a481c0ba523f5d78d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"7dbdcafaca1e7728e7cdf9afd97ccef7","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"7dbdcafaca1e7728e7cdf9afd97ccef7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NX0.vDx4aig5N21tKnsL_5nE_Ee2-ifaaz2wXCmaiMfcx3E","level":"info","message":"auth send jwt","requestID":"71add5bc359c1524d0cd4f1199153883"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"71add5bc359c1524d0cd4f1199153883","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"71add5bc359c1524d0cd4f1199153883"} gateway-1 | {"time_local":"04/Feb/2025:18:21:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2485","request_time":"2.886","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"74d4e3061c2e07b67bd8fa147efbf6f0"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.843547,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"71add5bc359c1524d0cd4f1199153883","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693275,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NX0.vDx4aig5N21tKnsL_5nE_Ee2-ifaaz2wXCmaiMfcx3E"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4db793ed-335d-4ff7-a42f-87098ae4cf69' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"71add5bc359c1524d0cd4f1199153883","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7641ee3c-7604-4ab0-91a4-c514144afbec' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"167970a3-b7d3-4586-b474-dd74edf5268a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.1183145} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"71add5bc359c1524d0cd4f1199153883","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5efdd004-502e-41e7-8966-d1f312e26c8d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.1253529} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"71add5bc359c1524d0cd4f1199153883","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"ab77f643-5db0-4d40-8ad7-9297118aed3a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.1404397} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48fc6ead-f079-4ccf-8088-ae9d94da9643","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.1411927} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"71add5bc359c1524d0cd4f1199153883","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.140416149Z"}]},"request_id":"25480230-d334-452e-b579-0314b1c133a6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.147005} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"71add5bc359c1524d0cd4f1199153883","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"71add5bc359c1524d0cd4f1199153883"} gateway-1 | {"time_local":"04/Feb/2025:18:21:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71add5bc359c1524d0cd4f1199153883"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"71add5bc359c1524d0cd4f1199153883","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NX0.vDx4aig5N21tKnsL_5nE_Ee2-ifaaz2wXCmaiMfcx3E","level":"info","message":"auth send jwt","requestID":"fef30608ef7ae4f402499695cb9d775f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fef30608ef7ae4f402499695cb9d775f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fef30608ef7ae4f402499695cb9d775f"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.6871,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fef30608ef7ae4f402499695cb9d775f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693275,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NX0.vDx4aig5N21tKnsL_5nE_Ee2-ifaaz2wXCmaiMfcx3E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fef30608ef7ae4f402499695cb9d775f","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aa8f0448-4041-4448-bf39-e58b365c1c56","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.173524} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fef30608ef7ae4f402499695cb9d775f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ef5d7b3-8c3b-41b6-96f4-662b8ebc2c5b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.1783445} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"fef30608ef7ae4f402499695cb9d775f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"255daab0-740a-4282-b5fc-8e9298161fa9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.1880054} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2180af0b-5586-45b1-abb8-6a555fa1b9bc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.1882305} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"fef30608ef7ae4f402499695cb9d775f","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.187983933Z"}]},"request_id":"b35ecaaf-5a43-4e71-a738-a2ee752818a5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.1922555} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fef30608ef7ae4f402499695cb9d775f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fef30608ef7ae4f402499695cb9d775f"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"fef30608ef7ae4f402499695cb9d775f","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fef30608ef7ae4f402499695cb9d775f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NX0.vDx4aig5N21tKnsL_5nE_Ee2-ifaaz2wXCmaiMfcx3E","level":"info","message":"auth send jwt","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.121892,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d3708aca0d68e42a69db7f56b9bd6ebb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693275,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NX0.vDx4aig5N21tKnsL_5nE_Ee2-ifaaz2wXCmaiMfcx3E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.140416149Z"}]},"request_id":"77b0998d-1dc0-4650-a102-25878342c36d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.6625361} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d28136e4-c5ca-40b7-b1fa-aaca5439c31f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.669009} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.140416149Z"}]},"request_id":"dd0a800f-d935-4fcd-b356-d4200a92fb25","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693275.6983416} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb"} gateway-1 | {"time_local":"04/Feb/2025:18:21:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb"} device-1 | {"level":"info","message":"PATCH /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe 200 51ms","method":"PATCH","requestID":"d3708aca0d68e42a69db7f56b9bd6ebb","responseTime":51,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NX0.vDx4aig5N21tKnsL_5nE_Ee2-ifaaz2wXCmaiMfcx3E","level":"info","message":"auth send jwt","requestID":"301521ccb5ba87371e3c5f4e5d72c64e"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"301521ccb5ba87371e3c5f4e5d72c64e","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"301521ccb5ba87371e3c5f4e5d72c64e"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.628096,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"301521ccb5ba87371e3c5f4e5d72c64e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693275,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3NX0.vDx4aig5N21tKnsL_5nE_Ee2-ifaaz2wXCmaiMfcx3E"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"301521ccb5ba87371e3c5f4e5d72c64e","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"301521ccb5ba87371e3c5f4e5d72c64e"} gateway-1 | {"time_local":"04/Feb/2025:18:21:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"301521ccb5ba87371e3c5f4e5d72c64e"} device-1 | {"level":"info","message":"POST /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/websocket 200 24ms","method":"POST","requestID":"301521ccb5ba87371e3c5f4e5d72c64e","responseTime":24,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e339f6aceae7eecf2d45839ad9eba5f0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e339f6aceae7eecf2d45839ad9eba5f0","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e339f6aceae7eecf2d45839ad9eba5f0"} device-1 | {"level":"info","message":"OPTIONS /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/websocket 200 1ms","method":"OPTIONS","requestID":"e339f6aceae7eecf2d45839ad9eba5f0","responseTime":1,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk","level":"info","message":"auth send jwt","requestID":"444cd7d68e7a8efa0f50d313c8dd8842"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"444cd7d68e7a8efa0f50d313c8dd8842","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"444cd7d68e7a8efa0f50d313c8dd8842"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.399937,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"444cd7d68e7a8efa0f50d313c8dd8842","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"444cd7d68e7a8efa0f50d313c8dd8842","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"444cd7d68e7a8efa0f50d313c8dd8842"} device-1 | {"level":"info","message":"POST /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/websocket 200 35ms","method":"POST","requestID":"444cd7d68e7a8efa0f50d313c8dd8842","responseTime":35,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"444cd7d68e7a8efa0f50d313c8dd8842"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk","level":"info","message":"auth send jwt","requestID":"8c193a6f2599495b774cd20be6a782e7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c193a6f2599495b774cd20be6a782e7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c193a6f2599495b774cd20be6a782e7"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.420092,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8c193a6f2599495b774cd20be6a782e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8c193a6f2599495b774cd20be6a782e7","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.140416149Z"}]},"request_id":"49234b8b-b0e2-4e45-ad2f-b4e620d6de78","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.2884548} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8c193a6f2599495b774cd20be6a782e7","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c193a6f2599495b774cd20be6a782e7"} gateway-1 | {"time_local":"04/Feb/2025:18:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c193a6f2599495b774cd20be6a782e7"} device-1 | {"level":"info","message":"GET /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe? 200 19ms","method":"GET","requestID":"8c193a6f2599495b774cd20be6a782e7","responseTime":19,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk","level":"info","message":"auth send jwt","requestID":"71694b50835131aa65457261ca5ef792"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"71694b50835131aa65457261ca5ef792","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71694b50835131aa65457261ca5ef792"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.699386,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"71694b50835131aa65457261ca5ef792","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"71694b50835131aa65457261ca5ef792","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.187983933Z"}]},"request_id":"55444523-e935-4f97-968c-377d4b26df2e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.3162105} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"71694b50835131aa65457261ca5ef792","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71694b50835131aa65457261ca5ef792"} gateway-1 | {"time_local":"04/Feb/2025:18:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71694b50835131aa65457261ca5ef792"} device-1 | {"level":"info","message":"GET /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19? 200 20ms","method":"GET","requestID":"71694b50835131aa65457261ca5ef792","responseTime":20,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk","level":"info","message":"auth send jwt","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bab08559ce9978667f5f87e4a1c0b57d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.298078,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bab08559ce9978667f5f87e4a1c0b57d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bab08559ce9978667f5f87e4a1c0b57d","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Attempting to run experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Attempting to book experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Successfully booked experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d339c0c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d33a0ee0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975172,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d339c0c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d339c0c0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220973,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d33a0ee0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d33a0ee0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.140416149Z"}]},"request_id":"9b335dfa-9558-477d-b07b-788ab8b78d65","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.3986878} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d339c0c0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.187983933Z"}]},"request_id":"134796f9-9b2d-4745-b3b0-e8f5b22493c2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.3995934} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d33a0ee0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d339c0c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe? 200 16ms","method":"GET","requestID":"d339c0c0-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d33a0ee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19? 200 15ms","method":"GET","requestID":"d33a0ee0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Setting up experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Successfully locked booking for experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Attempting to update booking for experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Successfully updated booking for experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Successfully set up experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d344e450-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d3453270-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d345a7a0-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Successfully running experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.794388,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d344e450-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d344e450-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.711014,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d3453270-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"d3453270-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6da1d355-b3da-4c12-9861-d0a8118db3cb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.4773614} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.605498,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d345a7a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"d345a7a0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.187983933Z"}]},"request_id":"fc615edb-5504-41cf-8218-c87476da63e8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.4842646} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d345a7a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.140416149Z"}]},"request_id":"a8880990-efea-4e57-8fab-aa17e9c195c5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.4860456} device-1 | {"level":"info","message":"POST /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling 200 21ms","method":"POST","requestID":"d345a7a0-e324-11ef-a766-ff4094b4009c","responseTime":21,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"d3453270-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d3497830-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"d344e450-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff5b57252-d308-4031-b8dc-aca9756b3555#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff5b57252-d308-4031-b8dc-aca9756b3555","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"482cbc8f-e4aa-48c0-a5fd-194b57e66670","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.4914262} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e480452-113e-4bfc-8e73-6cf20d303be7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.492005} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d3453270-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"bab08559ce9978667f5f87e4a1c0b57d","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} device-1 | {"level":"info","message":"GET /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19? 200 34ms","method":"GET","requestID":"d3453270-e324-11ef-a766-ff4094b4009c","responseTime":34,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74cb22cd-a037-446a-9a30-b379af1874ee","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.49843} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d344e450-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.151243,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} device-1 | {"level":"info","message":"GET /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe? 200 38ms","method":"GET","requestID":"d344e450-e324-11ef-a766-ff4094b4009c","responseTime":38,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d3497830-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d3497830-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d3497830-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling 200 13ms","method":"POST","requestID":"d3497830-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d34bc220-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e410d1b4-e99a-4d2c-93f1-a24718abdd12","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.5115461} experiment-1 | {"level":"info","message":"POST /experiments? 201 179ms","method":"POST","requestID":"bab08559ce9978667f5f87e4a1c0b57d","responseTime":179,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.653734,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d34bc220-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d34bc220-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk","level":"info","message":"auth send jwt","requestID":"b01d4bcbab9e072a0023ddb25d814004"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b01d4bcbab9e072a0023ddb25d814004","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d34bc220-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling 200 13ms","method":"POST","requestID":"d34bc220-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b01d4bcbab9e072a0023ddb25d814004"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d34e3320-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.129656,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b01d4bcbab9e072a0023ddb25d814004","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b01d4bcbab9e072a0023ddb25d814004","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e06acfaf-b4fd-407c-a05b-d0c1563cb6a8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.5270836} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.600984,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d34e3320-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d34e3320-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.140416149Z"}]},"request_id":"43b4af46-c767-43a1-b4a1-7cc529f85834","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.5308309} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d34e3320-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b01d4bcbab9e072a0023ddb25d814004","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling 200 10ms","method":"POST","requestID":"d34e3320-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Building connection plan","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"88fa8177-55b8-4924-885f-180d3e333dcc"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"b12f10d5-52ad-48c1-8663-aa813d180de4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"f444aa27-8e29-4e48-9cfc-1a6e24c863ad"}]},"level":"info","message":"Built pairwise service configurations","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b01d4bcbab9e072a0023ddb25d814004"} gateway-1 | {"time_local":"04/Feb/2025:18:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b01d4bcbab9e072a0023ddb25d814004"} device-1 | {"level":"info","message":"GET /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe? 200 18ms","method":"GET","requestID":"b01d4bcbab9e072a0023ddb25d814004","responseTime":18,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe?"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.888693,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk","level":"info","message":"auth send jwt","requestID":"f3b504841d16c5b9276453ab8773fc5d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3b504841d16c5b9276453ab8773fc5d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f3b504841d16c5b9276453ab8773fc5d"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638646,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f3b504841d16c5b9276453ab8773fc5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693277,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3N30.4YrukfnmXAZhIaUWAClCDcJ96QD1zElrP7cv1Wq3JZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f3b504841d16c5b9276453ab8773fc5d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"902ef9df-9444-46e5-a6d1-26ebf0eb3c36","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.552389} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5b3e373-4b9c-42f8-aa1e-7ae1d8a8578c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.552659} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:15.187983933Z"}]},"request_id":"2f161ffc-ebf3-4077-a6e8-4ad39ab63251","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.553139} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f3b504841d16c5b9276453ab8773fc5d","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f3b504841d16c5b9276453ab8773fc5d"} gateway-1 | {"time_local":"04/Feb/2025:18:21:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3b504841d16c5b9276453ab8773fc5d"} device-1 | {"level":"info","message":"GET /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19? 200 14ms","method":"GET","requestID":"f3b504841d16c5b9276453ab8773fc5d","responseTime":14,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c'","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c'","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d3502ef0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c","device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"bab08559ce9978667f5f87e4a1c0b57d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d35cd920-e324-11ef-a766-ff4094b4009c"} device-1 | {"device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f390a110-7248-4ccb-a6cf-e19540da682d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.6222663} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.321527,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d35cd920-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d35cd920-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d35cd920-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling 200 8ms","method":"POST","requestID":"d35cd920-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d35e5fc0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5e268d5-a5dc-4012-beb8-9a048d4775f2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693277.6324742} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.480976,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d35e5fc0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d35e5fc0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d35e5fc0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling 200 9ms","method":"POST","requestID":"d35e5fc0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling"} device-1 | {"device":"8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5bb091f3-42a6-442c-b294-ed7ba8d8b13c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8350768431664590885 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:kzlI\r\na=ice-pwd:Bhlh0ubhrnlBv6/Ig4ZB+F0k\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BA:33:91:84:97:91:CC:EE:C3:C4:F2:06:BE:D9:39:F3:82:30:4B:28:D0:C7:5F:05:5B:5C:FC:92:75:77:F6:53\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3823626204 1 udp 2113937151 2e0ce437-80f6-415d-ae99-c09808d32622.local 52479 typ host generation 0 ufrag kzlI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:1892435663 1 udp 1677729535 141.24.211.56 52479 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag kzlI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5bb091f3-42a6-442c-b294-ed7ba8d8b13c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"712218cbc1b58c40ff3e79a74571d0c7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19'"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"712218cbc1b58c40ff3e79a74571d0c7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c"}}},"level":"info","message":"received a callback","requestID":"712218cbc1b58c40ff3e79a74571d0c7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"712218cbc1b58c40ff3e79a74571d0c7","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"712218cbc1b58c40ff3e79a74571d0c7"} device-1 | {"data":{"peerconnection":"5bb091f3-42a6-442c-b294-ed7ba8d8b13c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5bb091f3-42a6-442c-b294-ed7ba8d8b13c","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5bb091f3-42a6-442c-b294-ed7ba8d8b13c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"14cc6faeb808460728d620ff250da169","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"14cc6faeb808460728d620ff250da169","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c"}}},"level":"info","message":"received a callback","requestID":"14cc6faeb808460728d620ff250da169"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d4a67020-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:19Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5bb091f3-42a6-442c-b294-ed7ba8d8b13c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb0b471c-a079-4fec-8ef4-6b3673b6df47","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693279.7852416} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.388364,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d4a67020-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d4a67020-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d4a67020-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c 200 13ms","method":"GET","requestID":"d4a67020-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"14cc6faeb808460728d620ff250da169","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"14cc6faeb808460728d620ff250da169"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4ac3c80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:19Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb8c9abe-871c-4965-a460-e5784df902f5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693279.8221655} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.256648,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d4ac3c80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d4ac3c80-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4ac3c80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling 200 12ms","method":"POST","requestID":"d4ac3c80-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4ae8670-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:19Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aea2e2d3-225a-43e8-95eb-a1be2849b46d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693279.8356912} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.574279,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d4ae8670-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d4ae8670-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4ae8670-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling 200 10ms","method":"POST","requestID":"d4ae8670-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3OX0.RIUI64nPAnCcoYqcP7hpCx0rcPsLfvbDowBZ8Li-6Xs","level":"info","message":"auth send jwt","requestID":"1b1af1bc103e70a60d61ef929ddefbcc"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1b1af1bc103e70a60d61ef929ddefbcc","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f5b57252-d308-4031-b8dc-aca9756b3555","requestID":"1b1af1bc103e70a60d61ef929ddefbcc"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.591256,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1b1af1bc103e70a60d61ef929ddefbcc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693279,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI3OX0.RIUI64nPAnCcoYqcP7hpCx0rcPsLfvbDowBZ8Li-6Xs"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"1b1af1bc103e70a60d61ef929ddefbcc","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f5b57252-d308-4031-b8dc-aca9756b3555","requestID":"1b1af1bc103e70a60d61ef929ddefbcc"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f5b57252-d308-4031-b8dc-aca9756b3555 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b1af1bc103e70a60d61ef929ddefbcc"} experiment-1 | {"level":"info","message":"GET /experiments/f5b57252-d308-4031-b8dc-aca9756b3555 200 22ms","method":"GET","requestID":"1b1af1bc103e70a60d61ef929ddefbcc","responseTime":22,"status":200,"url":"/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f5b57252-d308-4031-b8dc-aca9756b3555","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.254028,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4e6766869cc8d5e865e6d12b17eb6bd1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Attempting to finish experiment","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d4cedfb0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.976741,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d4cedfb0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d4cedfb0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c","device":"1722aea4-f643-4025-b15b-5e1cc68b3e19","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5bb091f3-42a6-442c-b294-ed7ba8d8b13c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3b840327c568f0a6f429937c6771c519","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5bb091f3-42a6-442c-b294-ed7ba8d8b13c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5bb091f3-42a6-442c-b294-ed7ba8d8b13c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"ea591af4-7382-490f-97d8-f39f2deba08c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.067228} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3b840327c568f0a6f429937c6771c519","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c52f2ece-b9e8-471b-a8b9-63a4b13bc962","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.067561} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1f5b89d60840b548ada175b825170b86","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c"}}},"level":"info","message":"received a callback","requestID":"3b840327c568f0a6f429937c6771c519"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"d4cedfb0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1f5b89d60840b548ada175b825170b86","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c"}}},"level":"info","message":"received a callback","requestID":"1f5b89d60840b548ada175b825170b86"} device-1 | {"data":{"peerconnection":"5bb091f3-42a6-442c-b294-ed7ba8d8b13c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d4cedfb0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c 204 61ms","method":"DELETE","requestID":"d4cedfb0-e324-11ef-a766-ff4094b4009c","responseTime":61,"status":204,"url":"/peerconnections/5bb091f3-42a6-442c-b294-ed7ba8d8b13c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"},"level":"info","message":"Successfully finished experiment","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4dbff10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1722aea4-f643-4025-b15b-5e1cc68b3e19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac67adf3-8280-43dc-976c-f3e08cc5e994","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.1362944} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.37819,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d4dbff10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d4dbff10-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4dbff10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling 200 13ms","method":"POST","requestID":"d4dbff10-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff5b57252-d308-4031-b8dc-aca9756b3555': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff5b57252-d308-4031-b8dc-aca9756b3555","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"c897cae3-a6d7-41dd-bc0c-d78c4c55d2a3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.1431675} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4de7010-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d409b87b-034a-4b39-a830-995ca9242c9e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.145448} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"240f4d7a-c563-4078-8bc7-9aa6d3a880aa","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.1514034} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.561445,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d4de7010-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d4de7010-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4de7010-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling 200 12ms","method":"POST","requestID":"d4de7010-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f5b57252-d308-4031-b8dc-aca9756b3555","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f5b57252-d308-4031-b8dc-aca9756b3555 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1"} experiment-1 | {"level":"info","message":"DELETE /experiments/f5b57252-d308-4031-b8dc-aca9756b3555 204 177ms","method":"DELETE","requestID":"4e6766869cc8d5e865e6d12b17eb6bd1","responseTime":177,"status":204,"url":"/experiments/f5b57252-d308-4031-b8dc-aca9756b3555"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.465","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"61994c4883ff97d872aec27d07c45192"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"3b840327c568f0a6f429937c6771c519","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"3b840327c568f0a6f429937c6771c519"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"9496e3d6d5237fc29152a868fb473ff3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9496e3d6d5237fc29152a868fb473ff3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"1f5b89d60840b548ada175b825170b86","responseTime":139,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"9496e3d6d5237fc29152a868fb473ff3"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.957","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"411deb297a634495c6c69791dc324747"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f5b89d60840b548ada175b825170b86"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.031405,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"9496e3d6d5237fc29152a868fb473ff3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9496e3d6d5237fc29152a868fb473ff3","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8d6db375-b6c1-4b2f-86c6-e7890e87f0fe' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dff8b133-b877-46b7-ac85-5ca1ee955012","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.2287128} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9496e3d6d5237fc29152a868fb473ff3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1722aea4-f643-4025-b15b-5e1cc68b3e19' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b0fd008-64c5-4809-aecc-6f5d0a33692d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.2341664} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9496e3d6d5237fc29152a868fb473ff3","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"4d803739-04fd-4e20-a0c3-405083f2f1db","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.2434764} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4bab65d-27d3-49e9-be1f-9adc6dd6a3b1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.2435935} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"9496e3d6d5237fc29152a868fb473ff3","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.243458053Z"}]},"request_id":"bf80a06a-d353-44b9-9bec-f3735a249036","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.248329} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9496e3d6d5237fc29152a868fb473ff3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9496e3d6d5237fc29152a868fb473ff3"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"9496e3d6d5237fc29152a868fb473ff3","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9496e3d6d5237fc29152a868fb473ff3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"bb17c25d9886d57192f502515b7d7c56"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bb17c25d9886d57192f502515b7d7c56","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bb17c25d9886d57192f502515b7d7c56"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.674067,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bb17c25d9886d57192f502515b7d7c56","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bb17c25d9886d57192f502515b7d7c56","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"22b42415-c495-4d37-87b9-08c65b669241","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.2724183} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bb17c25d9886d57192f502515b7d7c56","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5987e3a-aded-4627-b60e-b2114981e98f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.2774582} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bb17c25d9886d57192f502515b7d7c56","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"a8ece054-80aa-461d-b234-1117282dd11f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.2887847} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d89ab700-3dbd-4c14-adb6-1caca098284b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.288979} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"bb17c25d9886d57192f502515b7d7c56","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.288732408Z"}]},"request_id":"1b0b478b-e631-45f1-b540-68d6dc8a5a4f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.293882} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bb17c25d9886d57192f502515b7d7c56","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bb17c25d9886d57192f502515b7d7c56"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"bb17c25d9886d57192f502515b7d7c56","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb17c25d9886d57192f502515b7d7c56"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931817,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2de3d862d8d7f1c3c290f9d4c4f53606","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.770063,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"71d8b5183d7aae5185f36d8a9ff3bb70","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.243458053Z"}]},"request_id":"2538bbf7-52f4-4410-8d24-5c107ad9bb39","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.7536397} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.288732408Z"}]},"request_id":"81a298a2-3d55-469f-a135-e5b004906f27","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.754637} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b11c1f5e-1bf3-4c97-9d8c-95a7c5ebe6f6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.7596757} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10204d5d-8b8d-49c9-99d1-f7d737c706ed","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.7615933} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.288732408Z"}]},"request_id":"dbb66ed0-f939-42b6-8e25-ab37ecc578a2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.7662776} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70"} device-1 | {"level":"info","message":"PATCH /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234 200 27ms","method":"PATCH","requestID":"71d8b5183d7aae5185f36d8a9ff3bb70","responseTime":27,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"fda76847b211194f390de8e72685ec23"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fda76847b211194f390de8e72685ec23","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fda76847b211194f390de8e72685ec23"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.829794,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fda76847b211194f390de8e72685ec23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fda76847b211194f390de8e72685ec23","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.243458053Z"}]},"request_id":"e701d445-ae2e-4f1e-aaa9-a6856d3b2078","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.7894638} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606"} device-1 | {"level":"info","message":"PATCH /devices/227eb877-517c-4772-b37e-55ca3bbdd64f 200 51ms","method":"PATCH","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606","responseTime":51,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/227eb877-517c-4772-b37e-55ca3bbdd64f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"2de3d862d8d7f1c3c290f9d4c4f53606"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"115dd22a280f2d666461dedc9a9e9298"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"115dd22a280f2d666461dedc9a9e9298","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"115dd22a280f2d666461dedc9a9e9298"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fda76847b211194f390de8e72685ec23"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"fda76847b211194f390de8e72685ec23"} device-1 | {"level":"info","message":"POST /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/websocket 200 25ms","method":"POST","requestID":"fda76847b211194f390de8e72685ec23","responseTime":25,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/websocket"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764304,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"115dd22a280f2d666461dedc9a9e9298","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"115dd22a280f2d666461dedc9a9e9298","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"115dd22a280f2d666461dedc9a9e9298"} device-1 | {"level":"info","message":"POST /devices/227eb877-517c-4772-b37e-55ca3bbdd64f/websocket 200 12ms","method":"POST","requestID":"115dd22a280f2d666461dedc9a9e9298","responseTime":12,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/227eb877-517c-4772-b37e-55ca3bbdd64f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.015","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"115dd22a280f2d666461dedc9a9e9298"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"64a19d2db4f10580d3f3a7bcae449847"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"64a19d2db4f10580d3f3a7bcae449847","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"64a19d2db4f10580d3f3a7bcae449847"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694995,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"64a19d2db4f10580d3f3a7bcae449847","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"64a19d2db4f10580d3f3a7bcae449847","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.243458053Z"}]},"request_id":"8aae2a5f-b80f-47bd-8877-ccb2ae2d5875","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.8365993} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"64a19d2db4f10580d3f3a7bcae449847","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"64a19d2db4f10580d3f3a7bcae449847"} device-1 | {"level":"info","message":"GET /devices/227eb877-517c-4772-b37e-55ca3bbdd64f? 200 12ms","method":"GET","requestID":"64a19d2db4f10580d3f3a7bcae449847","responseTime":12,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/227eb877-517c-4772-b37e-55ca3bbdd64f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64a19d2db4f10580d3f3a7bcae449847"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"ad95e118666efce2d1941aa257655a24"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ad95e118666efce2d1941aa257655a24","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ad95e118666efce2d1941aa257655a24"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.847976,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ad95e118666efce2d1941aa257655a24","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ad95e118666efce2d1941aa257655a24","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.288732408Z"}]},"request_id":"864194b9-4fc8-4158-9475-bd834b82da6d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.8569405} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ad95e118666efce2d1941aa257655a24","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ad95e118666efce2d1941aa257655a24"} device-1 | {"level":"info","message":"GET /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234? 200 14ms","method":"GET","requestID":"ad95e118666efce2d1941aa257655a24","responseTime":14,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad95e118666efce2d1941aa257655a24"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY","level":"info","message":"auth send jwt","requestID":"f843ece44692dfe37cd47a287e159b0b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f843ece44692dfe37cd47a287e159b0b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"f843ece44692dfe37cd47a287e159b0b"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.875373,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f843ece44692dfe37cd47a287e159b0b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f843ece44692dfe37cd47a287e159b0b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Attempting to run experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Attempting to book experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Successfully booked experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d55351f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d553a010-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.185439,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d55351f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d55351f0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.553051,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d553a010-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d553a010-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.243458053Z"}]},"request_id":"8641f2b9-1914-46ae-852a-068d0d0c1d4a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.9229054} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d55351f0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.288732408Z"}]},"request_id":"3f7fb52f-3bc9-416d-b819-b60eab744478","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.9245882} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d553a010-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d55351f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/227eb877-517c-4772-b37e-55ca3bbdd64f? 200 19ms","method":"GET","requestID":"d55351f0-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d553a010-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234? 200 18ms","method":"GET","requestID":"d553a010-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Setting up experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Successfully locked booking for experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Attempting to update booking for experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Successfully updated booking for experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Successfully set up experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d55d15f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d55d6410-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d55db230-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Successfully running experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36396","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.275397,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940425,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d55d15f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d55d15f0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d55d6410-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d55d6410-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.243458053Z"}]},"request_id":"8d4e90b5-6229-4334-8acf-abc83ff268db","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.9912443} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d55d15f0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.288732408Z"}]},"request_id":"7ab2f017-03fe-4986-8b9e-97a614666f79","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.9924874} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f2024f6-033b-4c4f-b833-d19b9b8da54e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.9931433} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d55d6410-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.111151,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d55db230-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"d55db230-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F505a6492-e3b4-44d2-a1da-b9e47f3f0360#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F505a6492-e3b4-44d2-a1da-b9e47f3f0360","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"f9758dbf-5121-47f1-8aac-5101faf08954","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.9988523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b51ae9e-48d4-463f-9190-e601507bd361","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693280.999124} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d55d15f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/227eb877-517c-4772-b37e-55ca3bbdd64f? 200 25ms","method":"GET","requestID":"d55d15f0-e324-11ef-a766-ff4094b4009c","responseTime":25,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"f843ece44692dfe37cd47a287e159b0b","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d55d6410-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234? 200 24ms","method":"GET","requestID":"d55d6410-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d55db230-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling 200 23ms","method":"POST","requestID":"d55db230-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d561f7f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5624610-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"f843ece44692dfe37cd47a287e159b0b"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0955f4c7-bd22-434f-8ba4-1d01c1c92321","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693281.0144281} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.960048,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:21Z"} gateway-1 | {"time_local":"04/Feb/2025:18:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"f843ece44692dfe37cd47a287e159b0b","responseTime":150,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d561f7f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d561f7f0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d44daf76-5a4b-41d1-8568-48cdf02981d9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693281.0163786} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.789249,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d5624610-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d5624610-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MX0.cz0Bf0BGEEaQ-0Z978xWAzVMIxtD7LQ5P9Au-5_HSIY","level":"info","message":"auth send jwt","requestID":"93a7f3f7365b9fcc678a54a87c9d1e07"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"93a7f3f7365b9fcc678a54a87c9d1e07","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"93a7f3f7365b9fcc678a54a87c9d1e07"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d561f7f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling 200 18ms","method":"POST","requestID":"d561f7f0-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5624610-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling 200 17ms","method":"POST","requestID":"d5624610-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.562172,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5655350-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"93a7f3f7365b9fcc678a54a87c9d1e07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693281,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MX0.cz0Bf0BGEEaQ-0Z978xWAzVMIxtD7LQ5P9Au-5_HSIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"93a7f3f7365b9fcc678a54a87c9d1e07","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f3813dd-1954-40fd-8981-d0ecaba754a6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693281.0349143} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.243458053Z"}]},"request_id":"47267b54-c18a-4ca5-adf6-4fb15485e941","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693281.0356436} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"93a7f3f7365b9fcc678a54a87c9d1e07","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.809766,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d5655350-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d5655350-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"93a7f3f7365b9fcc678a54a87c9d1e07"} gateway-1 | {"time_local":"04/Feb/2025:18:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/227eb877-517c-4772-b37e-55ca3bbdd64f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93a7f3f7365b9fcc678a54a87c9d1e07"} device-1 | {"level":"info","message":"GET /devices/227eb877-517c-4772-b37e-55ca3bbdd64f? 200 21ms","method":"GET","requestID":"93a7f3f7365b9fcc678a54a87c9d1e07","responseTime":21,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5655350-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling 200 16ms","method":"POST","requestID":"d5655350-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Building connection plan","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"3e3b2fbb-f5ee-4da9-b32a-29d9a955ada5"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"ad0c892f-db1a-466f-b7af-9eb8aac1afe4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"184fdae8-e62e-4a85-aa62-fe184851a90b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"f843ece44692dfe37cd47a287e159b0b"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"f843ece44692dfe37cd47a287e159b0b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MX0.cz0Bf0BGEEaQ-0Z978xWAzVMIxtD7LQ5P9Au-5_HSIY","level":"info","message":"auth send jwt","requestID":"9f1b728b4eb478487d5df58ec6ab4093"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f1b728b4eb478487d5df58ec6ab4093","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d5686090-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f1b728b4eb478487d5df58ec6ab4093"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.747142,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d5686090-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693280,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MH0.IlpymeaWO6uBx1frdt6dPlviwmdZMFSZJ_WT65F88AY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d5686090-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723441,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"9f1b728b4eb478487d5df58ec6ab4093","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693281,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4MX0.cz0Bf0BGEEaQ-0Z978xWAzVMIxtD7LQ5P9Au-5_HSIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f1b728b4eb478487d5df58ec6ab4093","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:20.288732408Z"}]},"request_id":"ae51ec27-3b15-4a55-9b50-7e27eee5f9a3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693281.0593529} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9f1b728b4eb478487d5df58ec6ab4093","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f1b728b4eb478487d5df58ec6ab4093"} device-1 | {"level":"info","message":"GET /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234? 200 12ms","method":"GET","requestID":"9f1b728b4eb478487d5df58ec6ab4093","responseTime":12,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f1b728b4eb478487d5df58ec6ab4093"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"aa62844e-98f4-4481-b2fb-f30721ef7e76","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693281.0633376} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7eb72bf5-8f35-443f-b845-521668513ec3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693281.0636404} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d5686090-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d5686090-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d5686090-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f'","requestID":"d5686090-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f'","requestID":"d5686090-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d5686090-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"d5686090-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d5686090-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"f843ece44692dfe37cd47a287e159b0b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d571d670-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b34a0b00-b506-4aaf-aad3-1d9ab2f786d2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693281.116446} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.235832,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d571d670-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d571d670-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d571d670-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling 200 13ms","method":"POST","requestID":"d571d670-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5744770-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4187dc0b-b994-471f-b6c7-4af8cd89501b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693281.1319315} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.700221,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d5744770-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d5744770-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5744770-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling 200 9ms","method":"POST","requestID":"d5744770-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling"} device-1 | {"device":"227eb877-517c-4772-b37e-55ca3bbdd64f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a102f1f7-b495-4c7b-81fa-f8563cc4713f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a102f1f7-b495-4c7b-81fa-f8563cc4713f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a102f1f7-b495-4c7b-81fa-f8563cc4713f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"13886ce9083401a6edfc2f8f3afc27a3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"13886ce9083401a6edfc2f8f3afc27a3","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f"}}},"level":"info","message":"received a callback","requestID":"13886ce9083401a6edfc2f8f3afc27a3"} device-1 | {"device":"227eb877-517c-4772-b37e-55ca3bbdd64f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"227eb877-517c-4772-b37e-55ca3bbdd64f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"227eb877-517c-4772-b37e-55ca3bbdd64f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"13886ce9083401a6edfc2f8f3afc27a3","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"13886ce9083401a6edfc2f8f3afc27a3"} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a102f1f7-b495-4c7b-81fa-f8563cc4713f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"227eb877-517c-4772-b37e-55ca3bbdd64f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"227eb877-517c-4772-b37e-55ca3bbdd64f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a102f1f7-b495-4c7b-81fa-f8563cc4713f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a102f1f7-b495-4c7b-81fa-f8563cc4713f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7d3a683a7846ea448ca29697e1beb7d4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7d3a683a7846ea448ca29697e1beb7d4","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f"}}},"level":"info","message":"received a callback","requestID":"7d3a683a7846ea448ca29697e1beb7d4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d6af8690-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa102f1f7-b495-4c7b-81fa-f8563cc4713f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22876e3d-eb23-4f57-a6d6-7d8e169ed469","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.1990237} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.782755,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d6af8690-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d6af8690-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d6af8690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f 200 11ms","method":"GET","requestID":"d6af8690-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"7d3a683a7846ea448ca29697e1beb7d4","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d3a683a7846ea448ca29697e1beb7d4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6b552f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27a37f68-801c-4569-874e-d471b53ba392","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.2356923} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.327835,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d6b552f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d6b552f0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6b552f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling 200 9ms","method":"POST","requestID":"d6b552f0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6b700a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5832859b-0457-46a2-b727-ca06b9cdb1af","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.246772} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.396624,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d6b700a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d6b700a0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6b700a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling 200 9ms","method":"POST","requestID":"d6b700a0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4M30.kqxZa2Nq47Hj1DnxoxY3EiCnrHVp3-C12KtVo2zVXV4","level":"info","message":"auth send jwt","requestID":"22eb1b33a133388087aecfd2a3f7784c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"22eb1b33a133388087aecfd2a3f7784c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360","requestID":"22eb1b33a133388087aecfd2a3f7784c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.264224,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"22eb1b33a133388087aecfd2a3f7784c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693283,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4M30.kqxZa2Nq47Hj1DnxoxY3EiCnrHVp3-C12KtVo2zVXV4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"22eb1b33a133388087aecfd2a3f7784c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360","requestID":"22eb1b33a133388087aecfd2a3f7784c"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22eb1b33a133388087aecfd2a3f7784c"} experiment-1 | {"level":"info","message":"GET /experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360 200 17ms","method":"GET","requestID":"22eb1b33a133388087aecfd2a3f7784c","responseTime":17,"status":200,"url":"/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4M30.kqxZa2Nq47Hj1DnxoxY3EiCnrHVp3-C12KtVo2zVXV4","level":"info","message":"auth send jwt","requestID":"3ae6c6bc940807163b9c27943146cb33"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3ae6c6bc940807163b9c27943146cb33","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360","requestID":"3ae6c6bc940807163b9c27943146cb33"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.188425,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3ae6c6bc940807163b9c27943146cb33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693283,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4M30.kqxZa2Nq47Hj1DnxoxY3EiCnrHVp3-C12KtVo2zVXV4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3ae6c6bc940807163b9c27943146cb33","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Attempting to finish experiment","requestID":"3ae6c6bc940807163b9c27943146cb33"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d6d202b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.247547,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d6d202b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693283,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4M30.kqxZa2Nq47Hj1DnxoxY3EiCnrHVp3-C12KtVo2zVXV4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d6d202b0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2d4e4fbf-3055-45a8-859d-7a71f62f5234","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"227eb877-517c-4772-b37e-55ca3bbdd64f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"227eb877-517c-4772-b37e-55ca3bbdd64f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"227eb877-517c-4772-b37e-55ca3bbdd64f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a102f1f7-b495-4c7b-81fa-f8563cc4713f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa102f1f7-b495-4c7b-81fa-f8563cc4713f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa102f1f7-b495-4c7b-81fa-f8563cc4713f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"598184c3-7bee-42c0-9e3c-a5dc651d9183","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.442645} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e19410d-bd5d-4567-ac42-1141f6a6de68","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.442829} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"d6d202b0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"36eaaa2ba5ea2f014da68ca61272446c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"36eaaa2ba5ea2f014da68ca61272446c","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8436d6fdec51ff8deed643fa6abd2697","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f"}}},"level":"info","message":"received a callback","requestID":"36eaaa2ba5ea2f014da68ca61272446c"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8436d6fdec51ff8deed643fa6abd2697","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f"}}},"level":"info","message":"received a callback","requestID":"8436d6fdec51ff8deed643fa6abd2697"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d6d202b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f 204 49ms","method":"DELETE","requestID":"d6d202b0-e324-11ef-a766-ff4094b4009c","responseTime":49,"status":204,"url":"/peerconnections/a102f1f7-b495-4c7b-81fa-f8563cc4713f"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"},"level":"info","message":"Successfully finished experiment","requestID":"3ae6c6bc940807163b9c27943146cb33"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6dd7460-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d4e4fbf-3055-45a8-859d-7a71f62f5234","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21444ff4-e5c0-45d8-9b8b-24e28d77a922","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.5009837} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.66576,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d6dd7460-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d6dd7460-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F505a6492-e3b4-44d2-a1da-b9e47f3f0360': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F505a6492-e3b4-44d2-a1da-b9e47f3f0360","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"7d92d040-5404-4395-927d-45077a454337","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.5080347} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6dd7460-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling 200 15ms","method":"POST","requestID":"d6dd7460-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ea21821-ac8c-44ed-86c6-b43bb8aee3d2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.5083678} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"3ae6c6bc940807163b9c27943146cb33","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6e03380-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F227eb877-517c-4772-b37e-55ca3bbdd64f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48faf4b1-cfc3-4621-8e5f-b907a0b24bfb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.5185113} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.064417,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d6e03380-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d6e03380-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6e03380-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling 200 14ms","method":"POST","requestID":"d6e03380-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/227eb877-517c-4772-b37e-55ca3bbdd64f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360","requestID":"3ae6c6bc940807163b9c27943146cb33"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ae6c6bc940807163b9c27943146cb33"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.769","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"6cccad10d8be7a75a294d0f28ab2e0d5"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.760","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"a0826de8c1739e5703264415b32c6515"} experiment-1 | {"level":"info","message":"DELETE /experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360 204 169ms","method":"DELETE","requestID":"3ae6c6bc940807163b9c27943146cb33","responseTime":169,"status":204,"url":"/experiments/505a6492-e3b4-44d2-a1da-b9e47f3f0360"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"36eaaa2ba5ea2f014da68ca61272446c","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"36eaaa2ba5ea2f014da68ca61272446c"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/227eb877-517c-4772-b37e-55ca3bbdd64f' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4M30.kqxZa2Nq47Hj1DnxoxY3EiCnrHVp3-C12KtVo2zVXV4","level":"info","message":"auth send jwt","requestID":"73831838a70ce11d68ea38cf613f1c2f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"8436d6fdec51ff8deed643fa6abd2697","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"8436d6fdec51ff8deed643fa6abd2697"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"73831838a70ce11d68ea38cf613f1c2f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"73831838a70ce11d68ea38cf613f1c2f"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.172274,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"73831838a70ce11d68ea38cf613f1c2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693283,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4M30.kqxZa2Nq47Hj1DnxoxY3EiCnrHVp3-C12KtVo2zVXV4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"73831838a70ce11d68ea38cf613f1c2f","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2d4e4fbf-3055-45a8-859d-7a71f62f5234' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"58a7d254-fd81-4636-acd1-17a7bcdbec9e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6023884} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"73831838a70ce11d68ea38cf613f1c2f","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"799eb84e-c0b1-4620-8a03-cf12c6bc0986","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6095953} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"73831838a70ce11d68ea38cf613f1c2f","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"37fe6b30-870a-4c3b-98dd-afea11eab08a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6206913} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7250258-bc11-4d03-98e7-ec6dde6c1898","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6210725} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"73831838a70ce11d68ea38cf613f1c2f","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.620665234Z"}]},"request_id":"7f495fe1-baac-4561-b9aa-9423daf65555","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6279907} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"73831838a70ce11d68ea38cf613f1c2f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"73831838a70ce11d68ea38cf613f1c2f"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73831838a70ce11d68ea38cf613f1c2f"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"73831838a70ce11d68ea38cf613f1c2f","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4M30.kqxZa2Nq47Hj1DnxoxY3EiCnrHVp3-C12KtVo2zVXV4","level":"info","message":"auth send jwt","requestID":"bbfb5217c3d5f98ec5d9363179179001"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bbfb5217c3d5f98ec5d9363179179001","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bbfb5217c3d5f98ec5d9363179179001"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.591171,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bbfb5217c3d5f98ec5d9363179179001","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693283,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4M30.kqxZa2Nq47Hj1DnxoxY3EiCnrHVp3-C12KtVo2zVXV4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bbfb5217c3d5f98ec5d9363179179001","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8940bf6f-9cc3-4efa-be13-6dfa1527fb33","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6554372} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bbfb5217c3d5f98ec5d9363179179001","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11d745bd-9c3b-4413-9379-a67a7d200b72","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6605628} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bbfb5217c3d5f98ec5d9363179179001","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"f51d8f3c-2765-4e17-afda-29a41a83b4d4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6728199} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f3a67ce-d622-4847-be4d-bd7ffa3c071c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6730452} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"bbfb5217c3d5f98ec5d9363179179001","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.672793310Z"}]},"request_id":"46d5e8ee-ceb6-4d30-8a48-7c0c1382588e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693283.6772904} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bbfb5217c3d5f98ec5d9363179179001","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bbfb5217c3d5f98ec5d9363179179001"} gateway-1 | {"time_local":"04/Feb/2025:18:21:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bbfb5217c3d5f98ec5d9363179179001"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"bbfb5217c3d5f98ec5d9363179179001","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cb552e42e78b417785735b0d81a9f114","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cb552e42e78b417785735b0d81a9f114","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cb552e42e78b417785735b0d81a9f114"} device-1 | {"level":"info","message":"OPTIONS /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/websocket 200 1ms","method":"OPTIONS","requestID":"cb552e42e78b417785735b0d81a9f114","responseTime":1,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y","level":"info","message":"auth send jwt","requestID":"d2c0377755619bdf84f000fb1aaa715c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d2c0377755619bdf84f000fb1aaa715c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d2c0377755619bdf84f000fb1aaa715c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189654,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:25Z"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6cb61abf1d4c400a3f45ce467d7ac17b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d2c0377755619bdf84f000fb1aaa715c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6cb61abf1d4c400a3f45ce467d7ac17b","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d2c0377755619bdf84f000fb1aaa715c","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:18:21:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/729e4441-15f5-47d4-94b9-54c72b22c118/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.010","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6cb61abf1d4c400a3f45ce467d7ac17b"} device-1 | {"level":"info","message":"OPTIONS /devices/729e4441-15f5-47d4-94b9-54c72b22c118/websocket 200 1ms","method":"OPTIONS","requestID":"6cb61abf1d4c400a3f45ce467d7ac17b","responseTime":1,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y","level":"info","message":"auth send jwt","requestID":"499a418cc6433c3ebdbb604ddb989420"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"499a418cc6433c3ebdbb604ddb989420","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"499a418cc6433c3ebdbb604ddb989420"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968252,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"499a418cc6433c3ebdbb604ddb989420","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"499a418cc6433c3ebdbb604ddb989420","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d2c0377755619bdf84f000fb1aaa715c"} gateway-1 | {"time_local":"04/Feb/2025:18:21:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d2c0377755619bdf84f000fb1aaa715c"} device-1 | {"level":"info","message":"POST /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/websocket 200 44ms","method":"POST","requestID":"d2c0377755619bdf84f000fb1aaa715c","responseTime":44,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"499a418cc6433c3ebdbb604ddb989420"} gateway-1 | {"time_local":"04/Feb/2025:18:21:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/729e4441-15f5-47d4-94b9-54c72b22c118/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"499a418cc6433c3ebdbb604ddb989420"} device-1 | {"level":"info","message":"POST /devices/729e4441-15f5-47d4-94b9-54c72b22c118/websocket 200 34ms","method":"POST","requestID":"499a418cc6433c3ebdbb604ddb989420","responseTime":34,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y","level":"info","message":"auth send jwt","requestID":"4ad77efc6a4c14c58a3512fffa260544"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4ad77efc6a4c14c58a3512fffa260544","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4ad77efc6a4c14c58a3512fffa260544"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.248893,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4ad77efc6a4c14c58a3512fffa260544","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4ad77efc6a4c14c58a3512fffa260544","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.620665234Z"}]},"request_id":"e54aaa22-947c-4afa-981a-d31e759463b9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693285.797684} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4ad77efc6a4c14c58a3512fffa260544","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4ad77efc6a4c14c58a3512fffa260544"} gateway-1 | {"time_local":"04/Feb/2025:18:21:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/729e4441-15f5-47d4-94b9-54c72b22c118? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ad77efc6a4c14c58a3512fffa260544"} device-1 | {"level":"info","message":"GET /devices/729e4441-15f5-47d4-94b9-54c72b22c118? 200 17ms","method":"GET","requestID":"4ad77efc6a4c14c58a3512fffa260544","responseTime":17,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y","level":"info","message":"auth send jwt","requestID":"01f02996f6748352e6838614ea2b87c8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"01f02996f6748352e6838614ea2b87c8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"01f02996f6748352e6838614ea2b87c8"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117907,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"01f02996f6748352e6838614ea2b87c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"01f02996f6748352e6838614ea2b87c8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.672793310Z"}]},"request_id":"a40d1f61-bd66-4cf4-a0de-6d8dc5c50bb2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693285.8183231} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"01f02996f6748352e6838614ea2b87c8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"01f02996f6748352e6838614ea2b87c8"} device-1 | {"level":"info","message":"GET /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5? 200 15ms","method":"GET","requestID":"01f02996f6748352e6838614ea2b87c8","responseTime":15,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01f02996f6748352e6838614ea2b87c8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y","level":"info","message":"auth send jwt","requestID":"647eb652c163177a1dfeaa92e954f5bb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"647eb652c163177a1dfeaa92e954f5bb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"647eb652c163177a1dfeaa92e954f5bb"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.171912,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"647eb652c163177a1dfeaa92e954f5bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"647eb652c163177a1dfeaa92e954f5bb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Attempting to run experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Attempting to book experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Successfully booked experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d84df450-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d84e6980-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.285825,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d84df450-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d84df450-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92088,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d84e6980-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d84e6980-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.620665234Z"}]},"request_id":"36a9ee20-0590-4019-8357-c76c1acb8107","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693285.9219491} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d84df450-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.672793310Z"}]},"request_id":"d9a837cf-e2cd-43b4-ba9e-a536b1f666e7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693285.9240766} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d84e6980-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d84df450-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/729e4441-15f5-47d4-94b9-54c72b22c118? 200 23ms","method":"GET","requestID":"d84df450-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d84e6980-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5? 200 22ms","method":"GET","requestID":"d84e6980-e324-11ef-a766-ff4094b4009c","responseTime":22,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Setting up experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Successfully locked booking for experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Attempting to update booking for experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Successfully updated booking for experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Successfully set up experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d85b88e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d85bd700-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d85c2520-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.276673,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d85b88e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Successfully running experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d85b88e0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728484,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d85bd700-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d85bd700-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdb4fca6-4299-403e-8651-931d39ffb6ce","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0091372} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.486297,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d85c2520-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d85c2520-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.620665234Z"}]},"request_id":"d3707cbd-d177-4eff-aaf5-025a5a03a2a1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0117438} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d85b88e0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.672793310Z"}]},"request_id":"2754363b-67e9-4c91-9b7a-6d12ddad0849","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0146616} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d85c2520-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d85bd700-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling 200 16ms","method":"POST","requestID":"d85c2520-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d85f0b50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2debdde3-dcad-4a5d-b34d-eb59a0da9d74#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2debdde3-dcad-4a5d-b34d-eb59a0da9d74","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"974b520a-d696-446b-865f-93dd40041bb8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0221865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b474a93-725c-4625-8cb5-9ff2c43cd720","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0226665} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d85b88e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/729e4441-15f5-47d4-94b9-54c72b22c118? 200 27ms","method":"GET","requestID":"d85b88e0-e324-11ef-a766-ff4094b4009c","responseTime":27,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d85bd700-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5? 200 26ms","method":"GET","requestID":"d85bd700-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"647eb652c163177a1dfeaa92e954f5bb","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b32f77f-78cb-4426-9b48-efe1bdc5b62b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0278862} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.669069,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d86043d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d85f0b50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d85f0b50-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d85f0b50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling 200 13ms","method":"POST","requestID":"d85f0b50-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a76f896d-3833-4067-acce-bcb164217f74","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.035416} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.904998,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d86043d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d86043d0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"647eb652c163177a1dfeaa92e954f5bb"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 211ms","method":"POST","requestID":"647eb652c163177a1dfeaa92e954f5bb","responseTime":211,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d86043d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling 200 13ms","method":"POST","requestID":"d86043d0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d862b4d0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg","level":"info","message":"auth send jwt","requestID":"05846a215ac4021edecf8e8bd607a2d1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"05846a215ac4021edecf8e8bd607a2d1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"05846a215ac4021edecf8e8bd607a2d1"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78ff6fa2-ab8c-4389-a655-8b953094c615","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0511954} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.153859,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.788935,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"05846a215ac4021edecf8e8bd607a2d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693286,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"05846a215ac4021edecf8e8bd607a2d1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d862b4d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d862b4d0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.620665234Z"}]},"request_id":"0e96631d-d81c-4eb7-b0bd-21a214d2f5ef","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0566268} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"05846a215ac4021edecf8e8bd607a2d1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d862b4d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling 200 14ms","method":"POST","requestID":"d862b4d0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"05846a215ac4021edecf8e8bd607a2d1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Building connection plan","requestID":"647eb652c163177a1dfeaa92e954f5bb"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"61d0fc66-aaf6-4a1e-a054-1a9ca3d76a4b"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"5a920983-e366-4812-8e60-750b22f28d6e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d203bb22-55d8-42e8-9d9b-af5c4543d16b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"647eb652c163177a1dfeaa92e954f5bb"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/729e4441-15f5-47d4-94b9-54c72b22c118? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05846a215ac4021edecf8e8bd607a2d1"} device-1 | {"level":"info","message":"GET /devices/729e4441-15f5-47d4-94b9-54c72b22c118? 200 12ms","method":"GET","requestID":"05846a215ac4021edecf8e8bd607a2d1","responseTime":12,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118?"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"647eb652c163177a1dfeaa92e954f5bb"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg","level":"info","message":"auth send jwt","requestID":"6c47ba1790bd702230ce16c0b7de7e26"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6c47ba1790bd702230ce16c0b7de7e26","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c47ba1790bd702230ce16c0b7de7e26"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.87252,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d86573f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693285,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4NX0.XpnrLbi7N_KV7vNbmLWL9IOs38bQ_VCihpzi6JoVI9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769543,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6c47ba1790bd702230ce16c0b7de7e26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693286,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6c47ba1790bd702230ce16c0b7de7e26","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:23.672793310Z"}]},"request_id":"bc28eb71-2775-4234-8d72-1603c47444d7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0741005} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6c47ba1790bd702230ce16c0b7de7e26","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c47ba1790bd702230ce16c0b7de7e26"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"4ebe15cd-e2a5-490b-82bf-20d242784242","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.078405} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c47ba1790bd702230ce16c0b7de7e26"} device-1 | {"level":"info","message":"GET /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5? 200 13ms","method":"GET","requestID":"6c47ba1790bd702230ce16c0b7de7e26","responseTime":13,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d53d99fb-2267-44e4-9084-34db7417d7df","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.0786238} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0'","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0'","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 46ms","method":"POST","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c","responseTime":46,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d86573f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0","device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0","device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"647eb652c163177a1dfeaa92e954f5bb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d8724530-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a778f707-bb30-4109-823f-72c73a4e075f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.1520712} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.543834,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d8724530-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d8724530-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d8724530-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling 200 9ms","method":"POST","requestID":"d8724530-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d873f2e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3223306-de3f-41e6-a276-c1c5afe13457","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.1630685} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.340917,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d873f2e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d873f2e0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d873f2e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling 200 9ms","method":"POST","requestID":"d873f2e0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling"} device-1 | {"device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 370244705954978288 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Mz07\r\na=ice-pwd:oP7T5yjIr0LwJm0ZnGVnUYrN\r\na=ice-options:trickle\r\na=fingerprint:sha-256 56:56:11:91:F5:71:A5:82:5B:D9:06:78:9A:02:19:F0:7B:2F:59:F6:E1:B4:06:97:4C:16:E0:44:87:B8:37:CC\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5712854624973455373 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:+VLw\r\na=ice-pwd:LqxRkI0klKQMF2+cugvoDc89\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F8:64:9F:16:17:FA:7F:E6:F5:33:5E:EE:32:6F:CA:F2:49:96:B0:08:8F:F2:D4:95:E1:0B:A6:CA:65:7C:9B:A4\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2630802755 1 udp 2113937151 43b50c0a-3d37-4029-874e-97a50a5bc42a.local 34526 typ host generation 0 ufrag +VLw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:266697808 1 udp 1677729535 141.24.211.56 34526 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag +VLw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118'"} device-1 | {"content":{"candidate":"candidate:1687871961 1 udp 2113937151 70ec6c10-6b25-4bda-a933-8acee5d546da.local 43485 typ host generation 0 ufrag Mz07 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3770125222 1 udp 1677729535 141.24.211.56 43485 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag Mz07 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5'"} device-1 | {"device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd945bd9-ee4d-456e-8a83-f058efcb00e0","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0"}}},"level":"info","message":"received a callback","requestID":"3985bca09a17658defaa26352cdc333e"} device-1 | {"device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3985bca09a17658defaa26352cdc333e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3985bca09a17658defaa26352cdc333e","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"3985bca09a17658defaa26352cdc333e","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"3985bca09a17658defaa26352cdc333e"} device-1 | {"device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"bd945bd9-ee4d-456e-8a83-f058efcb00e0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"bd945bd9-ee4d-456e-8a83-f058efcb00e0","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd945bd9-ee4d-456e-8a83-f058efcb00e0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2cf56dc8d27920920362932b154df609","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2cf56dc8d27920920362932b154df609","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0"}}},"level":"info","message":"received a callback","requestID":"2cf56dc8d27920920362932b154df609"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d8833520-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd945bd9-ee4d-456e-8a83-f058efcb00e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5cc4701b-9e38-497d-9ee8-a48239097907","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.2623818} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.350738,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d8833520-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d8833520-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d8833520-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0 200 7ms","method":"GET","requestID":"d8833520-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"2cf56dc8d27920920362932b154df609","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"2cf56dc8d27920920362932b154df609"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d886dea0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d990d0a-e88d-4963-bb0c-59ccca02b272","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.2863965} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.139307,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d886dea0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d886dea0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d886dea0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling 200 8ms","method":"POST","requestID":"d886dea0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d8888c50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fec591ef-2dc4-4002-ac1b-c984e7d90d7a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.2979605} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.358308,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d8888c50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d8888c50-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d8888c50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling 200 9ms","method":"POST","requestID":"d8888c50-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg","level":"info","message":"auth send jwt","requestID":"67dbfcaecbbf7df73a00dd09fb05590d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67dbfcaecbbf7df73a00dd09fb05590d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74","requestID":"67dbfcaecbbf7df73a00dd09fb05590d"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.687992,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"67dbfcaecbbf7df73a00dd09fb05590d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693286,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"67dbfcaecbbf7df73a00dd09fb05590d","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74","requestID":"67dbfcaecbbf7df73a00dd09fb05590d"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67dbfcaecbbf7df73a00dd09fb05590d"} experiment-1 | {"level":"info","message":"GET /experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74 200 10ms","method":"GET","requestID":"67dbfcaecbbf7df73a00dd09fb05590d","responseTime":10,"status":200,"url":"/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg","level":"info","message":"auth send jwt","requestID":"1221a96cf301681c33f99a5faad5da15"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1221a96cf301681c33f99a5faad5da15","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74","requestID":"1221a96cf301681c33f99a5faad5da15"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.671829,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1221a96cf301681c33f99a5faad5da15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693286,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1221a96cf301681c33f99a5faad5da15","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Attempting to finish experiment","requestID":"1221a96cf301681c33f99a5faad5da15"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d890c9b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.271225,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d890c9b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693286,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d890c9b0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0","device":"729e4441-15f5-47d4-94b9-54c72b22c118","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0","device":"0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd945bd9-ee4d-456e-8a83-f058efcb00e0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd945bd9-ee4d-456e-8a83-f058efcb00e0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd945bd9-ee4d-456e-8a83-f058efcb00e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"584e3a18-d5ee-4313-98b5-f60d49bdd666","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.366701} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"063ddbbca2779a5629c835ded9551a24","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"063ddbbca2779a5629c835ded9551a24","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"676587d3-1589-45ea-b7f9-ad9b26c1a6cf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.367066} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"d890c9b0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0"}}},"level":"info","message":"received a callback","requestID":"063ddbbca2779a5629c835ded9551a24"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6aa91a6ec19597631441e54968e7b2ab","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6aa91a6ec19597631441e54968e7b2ab","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0"}}},"level":"info","message":"received a callback","requestID":"6aa91a6ec19597631441e54968e7b2ab"} device-1 | {"data":{"peerconnection":"bd945bd9-ee4d-456e-8a83-f058efcb00e0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d890c9b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0 204 38ms","method":"DELETE","requestID":"d890c9b0-e324-11ef-a766-ff4094b4009c","responseTime":38,"status":204,"url":"/peerconnections/bd945bd9-ee4d-456e-8a83-f058efcb00e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"},"level":"info","message":"Successfully finished experiment","requestID":"1221a96cf301681c33f99a5faad5da15"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d8990710-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F729e4441-15f5-47d4-94b9-54c72b22c118","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"777eca7d-6751-4f52-be33-82bd98ff7ab5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.4061031} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.690846,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d8990710-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d8990710-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d8990710-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling 200 10ms","method":"POST","requestID":"d8990710-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/729e4441-15f5-47d4-94b9-54c72b22c118/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d89ab4c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2debdde3-dcad-4a5d-b34d-eb59a0da9d74': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2debdde3-dcad-4a5d-b34d-eb59a0da9d74","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"194d551f-a7ad-4e7d-a139-a66dbc37135f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.4166448} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31e6bb17-1219-451e-a0f0-1dbf9eef5189","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.4167752} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae5043fc-b264-41fb-84f3-2f81b0902d47","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.4170115} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.325219,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d89ab4c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d89ab4c0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"1221a96cf301681c33f99a5faad5da15","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d89ab4c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling 200 9ms","method":"POST","requestID":"d89ab4c0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74","requestID":"1221a96cf301681c33f99a5faad5da15"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1221a96cf301681c33f99a5faad5da15"} experiment-1 | {"level":"info","message":"DELETE /experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74 204 135ms","method":"DELETE","requestID":"1221a96cf301681c33f99a5faad5da15","responseTime":135,"status":204,"url":"/experiments/2debdde3-dcad-4a5d-b34d-eb59a0da9d74"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 106ms","method":"POST","requestID":"063ddbbca2779a5629c835ded9551a24","responseTime":106,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"063ddbbca2779a5629c835ded9551a24"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"6aa91a6ec19597631441e54968e7b2ab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 105ms","method":"POST","requestID":"6aa91a6ec19597631441e54968e7b2ab","responseTime":105,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2887","request_time":"0.717","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4dfa8a29ab398a84361c40f6509e69b6"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2885","request_time":"0.734","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"000122e81af4a21edf9b39acfee83c8a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg","level":"info","message":"auth send jwt","requestID":"33d5bf00313f855b7c3e2b3095821070"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"33d5bf00313f855b7c3e2b3095821070","responseTime":12,"status":200,"url":"/auth"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0db92f9f-ebb1-43a2-ba44-15de1a2d49f5' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"33d5bf00313f855b7c3e2b3095821070"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.825762,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"33d5bf00313f855b7c3e2b3095821070","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693286,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"33d5bf00313f855b7c3e2b3095821070","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/729e4441-15f5-47d4-94b9-54c72b22c118' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"379e44d5-911f-4b8a-9a5f-7e7dee6561ef","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.5045002} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"33d5bf00313f855b7c3e2b3095821070","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa6b69df-7bb0-410b-965a-b6966833d88a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.509508} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"33d5bf00313f855b7c3e2b3095821070","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"515ea64f-6215-47a4-a924-9ff100d28fe2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.5177214} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8f95589-06cd-4a40-8763-0669e025d4d7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.5179024} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"33d5bf00313f855b7c3e2b3095821070","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.517702504Z"}]},"request_id":"bd6afac8-47f5-446c-a3d1-4318b03afdab","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.5225604} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"33d5bf00313f855b7c3e2b3095821070","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"33d5bf00313f855b7c3e2b3095821070"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"33d5bf00313f855b7c3e2b3095821070","responseTime":36,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33d5bf00313f855b7c3e2b3095821070"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg","level":"info","message":"auth send jwt","requestID":"6e2527b641d745852267d006a37b9a3b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6e2527b641d745852267d006a37b9a3b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6e2527b641d745852267d006a37b9a3b"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.689055,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6e2527b641d745852267d006a37b9a3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693286,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4Nn0.vCvhGvpdpX1DJgWdbFUB7zJolxoSUkxusS-5p4eTAfg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6e2527b641d745852267d006a37b9a3b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5578dad0-f544-464a-8ac7-38faa6c0fe7c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.5499754} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6e2527b641d745852267d006a37b9a3b","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"deb7ee67-eb08-4551-96a5-99d519bd4229","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.5547795} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6e2527b641d745852267d006a37b9a3b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"66fb2574-29a4-4cb3-bc6e-188a9bed1e52","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.564807} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d7ede82-f99a-4257-adb0-87d5e45bd653","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.564886} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6e2527b641d745852267d006a37b9a3b","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.564780887Z"}]},"request_id":"aa623ef4-1b20-42fa-ad5f-9b853a33dcb3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693286.5687578} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6e2527b641d745852267d006a37b9a3b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6e2527b641d745852267d006a37b9a3b"} gateway-1 | {"time_local":"04/Feb/2025:18:21:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6e2527b641d745852267d006a37b9a3b"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"6e2527b641d745852267d006a37b9a3b","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ba2fe9fa76187a41930e55e83845d15b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ba2fe9fa76187a41930e55e83845d15b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ba2fe9fa76187a41930e55e83845d15b"} device-1 | {"level":"info","message":"OPTIONS /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/websocket 200 1ms","method":"OPTIONS","requestID":"ba2fe9fa76187a41930e55e83845d15b","responseTime":1,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU","level":"info","message":"auth send jwt","requestID":"1c80b726dcd18ada6ffc9fd67cc6b907"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1c80b726dcd18ada6ffc9fd67cc6b907","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1c80b726dcd18ada6ffc9fd67cc6b907"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850689,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1c80b726dcd18ada6ffc9fd67cc6b907","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1c80b726dcd18ada6ffc9fd67cc6b907","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c6c7587ac6b54adbdce56e6389dc16c2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6c7587ac6b54adbdce56e6389dc16c2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c6c7587ac6b54adbdce56e6389dc16c2"} device-1 | {"level":"info","message":"OPTIONS /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/websocket 200 1ms","method":"OPTIONS","requestID":"c6c7587ac6b54adbdce56e6389dc16c2","responseTime":1,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU","level":"info","message":"auth send jwt","requestID":"c256eb84f1d5948fc9aca5463ef6ea50"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c256eb84f1d5948fc9aca5463ef6ea50","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c256eb84f1d5948fc9aca5463ef6ea50"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.13248,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c256eb84f1d5948fc9aca5463ef6ea50","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c256eb84f1d5948fc9aca5463ef6ea50","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1c80b726dcd18ada6ffc9fd67cc6b907"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1c80b726dcd18ada6ffc9fd67cc6b907"} device-1 | {"level":"info","message":"POST /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/websocket 200 35ms","method":"POST","requestID":"1c80b726dcd18ada6ffc9fd67cc6b907","responseTime":35,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c256eb84f1d5948fc9aca5463ef6ea50"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c256eb84f1d5948fc9aca5463ef6ea50"} device-1 | {"level":"info","message":"POST /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/websocket 200 29ms","method":"POST","requestID":"c256eb84f1d5948fc9aca5463ef6ea50","responseTime":29,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU","level":"info","message":"auth send jwt","requestID":"18691019121d1fdedbe5a06ee3e9586b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"18691019121d1fdedbe5a06ee3e9586b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"18691019121d1fdedbe5a06ee3e9586b"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.787918,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"18691019121d1fdedbe5a06ee3e9586b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"18691019121d1fdedbe5a06ee3e9586b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.517702504Z"}]},"request_id":"b333140b-e780-4f6e-9f83-747296cc3171","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.5956218} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"18691019121d1fdedbe5a06ee3e9586b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"18691019121d1fdedbe5a06ee3e9586b"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18691019121d1fdedbe5a06ee3e9586b"} device-1 | {"level":"info","message":"GET /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87? 200 13ms","method":"GET","requestID":"18691019121d1fdedbe5a06ee3e9586b","responseTime":13,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU","level":"info","message":"auth send jwt","requestID":"a28b6526d59356465ca5aefe3bddb8d1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a28b6526d59356465ca5aefe3bddb8d1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a28b6526d59356465ca5aefe3bddb8d1"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686739,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a28b6526d59356465ca5aefe3bddb8d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a28b6526d59356465ca5aefe3bddb8d1","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.564780887Z"}]},"request_id":"9e7467d8-c45f-4db8-9c0a-95ada1a9df87","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.6147194} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a28b6526d59356465ca5aefe3bddb8d1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a28b6526d59356465ca5aefe3bddb8d1"} device-1 | {"level":"info","message":"GET /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc? 200 14ms","method":"GET","requestID":"a28b6526d59356465ca5aefe3bddb8d1","responseTime":14,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a28b6526d59356465ca5aefe3bddb8d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU","level":"info","message":"auth send jwt","requestID":"7c8bfc441365f70d56dc2e36958508f7"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7c8bfc441365f70d56dc2e36958508f7","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7c8bfc441365f70d56dc2e36958508f7"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.763797,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"7c8bfc441365f70d56dc2e36958508f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7c8bfc441365f70d56dc2e36958508f7","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Attempting to run experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Attempting to book experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Successfully booked experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9f2cab0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9f2f1c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642049,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d9f2cab0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d9f2cab0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.526474,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d9f2f1c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d9f2f1c0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.517702504Z"}]},"request_id":"31205635-50ac-45d4-a64b-d8056d15bc12","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.674554} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d9f2cab0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.564780887Z"}]},"request_id":"0e7439c2-f726-4b75-8f1b-6a81e44696bc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.67594} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d9f2f1c0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9f2cab0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87? 200 14ms","method":"GET","requestID":"d9f2cab0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9f2f1c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc? 200 15ms","method":"GET","requestID":"d9f2f1c0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Setting up experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Successfully set up experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9feb190-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9ff26c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Successfully running experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.950812,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d9ff9bf0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d9feb190-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d9feb190-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896853,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d9ff26c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d9ff26c0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.898316,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7005f2a-3a21-41d7-9650-cc2b089eb098","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.7571266} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.517702504Z"}]},"request_id":"c2841438-1170-4c11-84f1-197f8da10712","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.7574055} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d9feb190-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d9ff9bf0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d9ff9bf0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.564780887Z"}]},"request_id":"65429a6b-21e7-4d87-9052-cd47e07c3fb2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.758719} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d9ff26c0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9feb190-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87? 200 22ms","method":"GET","requestID":"d9feb190-e324-11ef-a766-ff4094b4009c","responseTime":22,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d9ff9bf0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F719c5d58-cb76-4bb8-80c8-f533fa56c5b9#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F719c5d58-cb76-4bb8-80c8-f533fa56c5b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"35ae6da2-0b05-4d83-bc41-a7229626ba6a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.767806} device-1 | {"level":"info","message":"POST /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling 200 17ms","method":"POST","requestID":"d9ff9bf0-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49136b23-dfe9-4257-bc6c-eb5038f8d5f0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.7681067} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9ff26c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc? 200 21ms","method":"GET","requestID":"d9ff26c0-e324-11ef-a766-ff4094b4009c","responseTime":21,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"7c8bfc441365f70d56dc2e36958508f7","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da02a930-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da02f750-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3912390-9d38-4144-a382-3d1133f0893c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.7766588} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.983776,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da02a930-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da02a930-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3f7be56-0217-43ce-83b8-8b042644ead8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.778998} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.51035,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7c8bfc441365f70d56dc2e36958508f7"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da02f750-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"da02f750-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 151ms","method":"POST","requestID":"7c8bfc441365f70d56dc2e36958508f7","responseTime":151,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da02a930-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling 200 11ms","method":"POST","requestID":"da02a930-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da02f750-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling 200 11ms","method":"POST","requestID":"da02f750-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU","level":"info","message":"auth send jwt","requestID":"dab56680b0d6a6f50f46f899c4debed6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dab56680b0d6a6f50f46f899c4debed6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dab56680b0d6a6f50f46f899c4debed6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da054140-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671391,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dab56680b0d6a6f50f46f899c4debed6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dab56680b0d6a6f50f46f899c4debed6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6592a047-7efc-44c3-9a6f-310b9f3c02cd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.7914765} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.226024,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da054140-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"da054140-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.517702504Z"}]},"request_id":"ec659abf-d8d6-4d6a-927d-932fa449bf74","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.7949235} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dab56680b0d6a6f50f46f899c4debed6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da054140-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling 200 8ms","method":"POST","requestID":"da054140-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Building connection plan","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"8022d78a-fbc1-4cc5-bb10-8eb12cf9d748"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"929700ad-9d95-4b9f-8ff0-c6e7f164ac79"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c437d90f-8106-4cd7-9845-5a2bc2533518"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7c8bfc441365f70d56dc2e36958508f7"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7c8bfc441365f70d56dc2e36958508f7"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dab56680b0d6a6f50f46f899c4debed6"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dab56680b0d6a6f50f46f899c4debed6"} device-1 | {"level":"info","message":"GET /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87? 200 13ms","method":"GET","requestID":"dab56680b0d6a6f50f46f899c4debed6","responseTime":13,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"da071600-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.76388,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU","level":"info","message":"auth send jwt","requestID":"fc3e16f4927f238d3ba4210c0790baad"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da071600-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fc3e16f4927f238d3ba4210c0790baad","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"da071600-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc3e16f4927f238d3ba4210c0790baad"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889671,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fc3e16f4927f238d3ba4210c0790baad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693288,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OH0.YbgMJlh6m6So1Q4mZ41CSCo5FjoQNihNcun-9ggrIGU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc3e16f4927f238d3ba4210c0790baad","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"419618a0-cb46-4e61-b9ec-002776e6270d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.8142166} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbc9f3fa-d000-4bd3-bf86-bc691a40f2a6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.8144748} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:26.564780887Z"}]},"request_id":"9b5e33d5-ac59-4fad-9298-cba471c98ae4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.814824} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fc3e16f4927f238d3ba4210c0790baad","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"da071600-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc3e16f4927f238d3ba4210c0790baad"} device-1 | {"level":"info","message":"GET /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc? 200 14ms","method":"GET","requestID":"fc3e16f4927f238d3ba4210c0790baad","responseTime":14,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc3e16f4927f238d3ba4210c0790baad"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"da071600-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"da071600-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7'","requestID":"da071600-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7'","requestID":"da071600-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"da071600-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"da071600-e324-11ef-a766-ff4094b4009c","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"da071600-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7","device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7","device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7c8bfc441365f70d56dc2e36958508f7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da119d50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6793fd65-d228-4fef-ae3d-70e06c2e3966","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.8734171} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.280763,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da119d50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da119d50-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da119d50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling 200 9ms","method":"POST","requestID":"da119d50-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da134b00-e324-11ef-a766-ff4094b4009c"} device-1 | {"device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f0523da-ce3c-4e61-8b8f-dbb865850e28","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.8849785} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.961001,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da134b00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da134b00-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da134b00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling 200 9ms","method":"POST","requestID":"da134b00-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling"} device-1 | {"device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 416769288290099316 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:PK8q\r\na=ice-pwd:hWjaoFjS9DRfRIYqc1DTVKak\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E6:89:8A:F6:54:64:9B:FF:F0:DE:95:DA:6A:23:EB:04:64:AC:08:82:29:05:CE:2D:8F:86:E0:84:80:5F:9B:F3\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4019205035462198990 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:GPWf\r\na=ice-pwd:YnUidcH8kDMK8eoKofJZK1tV\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A6:4B:8A:56:9D:10:ED:57:D3:C7:D7:29:7C:7D:4B:77:06:45:6D:FE:64:67:CB:34:9E:78:63:A0:CD:86:1A:67\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2656518654 1 udp 2113937151 ad3c82a5-d592-4cce-8d45-c8f425d3005e.local 45240 typ host generation 0 ufrag GPWf network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:226287853 1 udp 1677729535 141.24.211.56 45240 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag GPWf network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc'"} device-1 | {"content":{"candidate":"candidate:227161453 1 udp 2113937151 b582b703-27e1-4591-bcc3-e2fcfb6acd52.local 35828 typ host generation 0 ufrag PK8q network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2309447442 1 udp 1677729535 141.24.211.56 35828 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag PK8q network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87'"} device-1 | {"device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a8fc9f8b-7820-4c91-965e-ca0d959323d7","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"49da7c264941d17c114630d6f781d6c1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"49da7c264941d17c114630d6f781d6c1","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7"}}},"level":"info","message":"received a callback","requestID":"49da7c264941d17c114630d6f781d6c1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"49da7c264941d17c114630d6f781d6c1","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"49da7c264941d17c114630d6f781d6c1"} device-1 | {"device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"a8fc9f8b-7820-4c91-965e-ca0d959323d7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a8fc9f8b-7820-4c91-965e-ca0d959323d7","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a8fc9f8b-7820-4c91-965e-ca0d959323d7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"91bebf9e7514a408c9e0486257d33ec9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"91bebf9e7514a408c9e0486257d33ec9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7"}}},"level":"info","message":"received a callback","requestID":"91bebf9e7514a408c9e0486257d33ec9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"da204350-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa8fc9f8b-7820-4c91-965e-ca0d959323d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57da3d65-04a7-4a79-a836-42d61fded7a1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.9696782} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.179908,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da204350-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"da204350-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"da204350-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7 200 9ms","method":"GET","requestID":"da204350-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"91bebf9e7514a408c9e0486257d33ec9","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"91bebf9e7514a408c9e0486257d33ec9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da2413e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38b7b266-d99b-4fa3-b011-f98e464d4cf2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693288.9941952} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.508137,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da2413e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da2413e0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da2413e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling 200 8ms","method":"POST","requestID":"da2413e0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da259a80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10a80ba3-3f2e-4ee6-869a-862d2a8d061e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.0049455} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.044694,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da259a80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da259a80-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da259a80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling 200 9ms","method":"POST","requestID":"da259a80-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU","level":"info","message":"auth send jwt","requestID":"ba8f7a644c8d6ca303b2569a47c016dc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ba8f7a644c8d6ca303b2569a47c016dc","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9","requestID":"ba8f7a644c8d6ca303b2569a47c016dc"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.092795,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ba8f7a644c8d6ca303b2569a47c016dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693289,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ba8f7a644c8d6ca303b2569a47c016dc","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9","requestID":"ba8f7a644c8d6ca303b2569a47c016dc"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba8f7a644c8d6ca303b2569a47c016dc"} experiment-1 | {"level":"info","message":"GET /experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9 200 16ms","method":"GET","requestID":"ba8f7a644c8d6ca303b2569a47c016dc","responseTime":16,"status":200,"url":"/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU","level":"info","message":"auth send jwt","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.678128,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0d04a09ab5b6f5ba3304179d2bd62f17","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693289,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Attempting to finish experiment","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"da321da0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.126096,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da321da0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693289,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"da321da0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7","device":"7923ca47-4bbe-47d4-8c77-690fbb7451bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7","device":"81e5a07b-c026-4c08-8feb-54298fc5dd87","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a8fc9f8b-7820-4c91-965e-ca0d959323d7","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa8fc9f8b-7820-4c91-965e-ca0d959323d7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa8fc9f8b-7820-4c91-965e-ca0d959323d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"ba9a3744-5bdc-4053-bd91-cbf3a097ff16","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.1040258} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"304f2433-5069-43db-9903-56725447f863","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.1043673} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1e0e81e87a3e708ad9142b7a01cfaa7e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1e0e81e87a3e708ad9142b7a01cfaa7e","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"da321da0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cedd2e9e813417fe879aa3fc0adf651d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"cedd2e9e813417fe879aa3fc0adf651d","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7"}}},"level":"info","message":"received a callback","requestID":"1e0e81e87a3e708ad9142b7a01cfaa7e"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7"}}},"level":"info","message":"received a callback","requestID":"cedd2e9e813417fe879aa3fc0adf651d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"da321da0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7 204 49ms","method":"DELETE","requestID":"da321da0-e324-11ef-a766-ff4094b4009c","responseTime":49,"status":204,"url":"/peerconnections/a8fc9f8b-7820-4c91-965e-ca0d959323d7"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"},"level":"info","message":"Successfully finished experiment","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da3cf310-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7923ca47-4bbe-47d4-8c77-690fbb7451bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"533347f9-d3a3-44bd-880f-10579d7c8ad2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.1589499} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.267917,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da3cf310-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"da3cf310-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da3cf310-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling 200 10ms","method":"POST","requestID":"da3cf310-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F719c5d58-cb76-4bb8-80c8-f533fa56c5b9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F719c5d58-cb76-4bb8-80c8-f533fa56c5b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"855a4c12-2941-4493-85d8-ae5aadc7285f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.163745} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2c04639-01be-4f0f-a178-211b8ee42a7c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.1640134} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da3eeee0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81e5a07b-c026-4c08-8feb-54298fc5dd87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93ce1648-e7f4-486a-ab25-360f06731f1b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.1725764} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.008083,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"da3eeee0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"da3eeee0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da3eeee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling 200 12ms","method":"POST","requestID":"da3eeee0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17"} experiment-1 | {"level":"info","message":"DELETE /experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9 204 155ms","method":"DELETE","requestID":"0d04a09ab5b6f5ba3304179d2bd62f17","responseTime":155,"status":204,"url":"/experiments/719c5d58-cb76-4bb8-80c8-f533fa56c5b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"1e0e81e87a3e708ad9142b7a01cfaa7e","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e0e81e87a3e708ad9142b7a01cfaa7e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"cedd2e9e813417fe879aa3fc0adf651d","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"cedd2e9e813417fe879aa3fc0adf651d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU","level":"info","message":"auth send jwt","requestID":"caf0679409667974092aaa8eca6ab492"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"caf0679409667974092aaa8eca6ab492","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"caf0679409667974092aaa8eca6ab492"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2884","request_time":"0.679","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"369b813eb50bac2cfd3dd347f3a8399a"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2887","request_time":"0.668","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"03cf520e9e81d28b7331ae261ed6cec4"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.872647,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"caf0679409667974092aaa8eca6ab492","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693289,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"caf0679409667974092aaa8eca6ab492","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/81e5a07b-c026-4c08-8feb-54298fc5dd87' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7923ca47-4bbe-47d4-8c77-690fbb7451bc' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7c53a1bf-23e5-4498-9d7d-518fd53e9eb9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.2494233} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"caf0679409667974092aaa8eca6ab492","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"902cfe7d-2f22-4206-b930-9755c61d6941","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.253875} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"caf0679409667974092aaa8eca6ab492","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"53dd3d31-a964-46b5-a3f3-1f8df0ac274e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.2610698} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0053f64-91e1-4e58-aa93-6ee1c8b02fcf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.261433} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"caf0679409667974092aaa8eca6ab492","responseTime":10,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.261042865Z"}]},"request_id":"ea0493c8-9b23-4224-831b-35b58d1f8a55","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.2675931} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"caf0679409667974092aaa8eca6ab492","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"caf0679409667974092aaa8eca6ab492"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"caf0679409667974092aaa8eca6ab492"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"caf0679409667974092aaa8eca6ab492","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU","level":"info","message":"auth send jwt","requestID":"f29fb67cf47f747e03da20f1474b8271"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f29fb67cf47f747e03da20f1474b8271","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f29fb67cf47f747e03da20f1474b8271"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.675612,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f29fb67cf47f747e03da20f1474b8271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693289,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f29fb67cf47f747e03da20f1474b8271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4d650eb3-6c7d-4f9e-aef5-49f4bc762c3d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.293738} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f29fb67cf47f747e03da20f1474b8271","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77e1ce24-eef7-47ec-9829-a747f595541f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.298126} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f29fb67cf47f747e03da20f1474b8271","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"dcf65967-1927-4c42-9986-b1c2c159bd92","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.3082743} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1269c5eb-223c-4ba3-8048-244cf3b05fb0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.3083608} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"f29fb67cf47f747e03da20f1474b8271","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.308255580Z"}]},"request_id":"dff9b66c-bceb-4e11-af9c-867415d81709","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.3116138} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f29fb67cf47f747e03da20f1474b8271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f29fb67cf47f747e03da20f1474b8271"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f29fb67cf47f747e03da20f1474b8271"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"f29fb67cf47f747e03da20f1474b8271","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU","level":"info","message":"auth send jwt","requestID":"42bbf39933f4031da2f1c58a4e2fb834"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"42bbf39933f4031da2f1c58a4e2fb834","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"42bbf39933f4031da2f1c58a4e2fb834"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998673,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"42bbf39933f4031da2f1c58a4e2fb834","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693289,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"42bbf39933f4031da2f1c58a4e2fb834","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.308255580Z"}]},"request_id":"89985515-3158-4609-96fe-1501def477dd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.8103127} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"42bbf39933f4031da2f1c58a4e2fb834","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55df8a4c-1790-4674-aece-fd249a1b20bd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.816017} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"42bbf39933f4031da2f1c58a4e2fb834","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.308255580Z"}]},"request_id":"2d01d4a3-f519-41eb-be87-3776443f91ca","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693289.8314512} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42bbf39933f4031da2f1c58a4e2fb834","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"42bbf39933f4031da2f1c58a4e2fb834"} device-1 | {"level":"info","message":"PATCH /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc 200 36ms","method":"PATCH","requestID":"42bbf39933f4031da2f1c58a4e2fb834","responseTime":36,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"42bbf39933f4031da2f1c58a4e2fb834"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU","level":"info","message":"auth send jwt","requestID":"13c8b02c901cc6ad8f1600844c13712e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"13c8b02c901cc6ad8f1600844c13712e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"13c8b02c901cc6ad8f1600844c13712e"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.091756,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"13c8b02c901cc6ad8f1600844c13712e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693289,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI4OX0.t9fyvqO0aZ0kx8jAh-a3L6Kkbs0mgOsTqskcwNZs1FU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"13c8b02c901cc6ad8f1600844c13712e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"13c8b02c901cc6ad8f1600844c13712e"} device-1 | {"level":"info","message":"POST /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/websocket 200 22ms","method":"POST","requestID":"13c8b02c901cc6ad8f1600844c13712e","responseTime":22,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"13c8b02c901cc6ad8f1600844c13712e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4f7fc2d004fe8668ae6f57dedc3552a3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4f7fc2d004fe8668ae6f57dedc3552a3","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d77c08cf-8582-4aac-90a7-0f1395cda882/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4f7fc2d004fe8668ae6f57dedc3552a3"} device-1 | {"level":"info","message":"OPTIONS /devices/d77c08cf-8582-4aac-90a7-0f1395cda882/websocket 200 1ms","method":"OPTIONS","requestID":"4f7fc2d004fe8668ae6f57dedc3552a3","responseTime":1,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg","level":"info","message":"auth send jwt","requestID":"7fd37fe20bd19453a1e935ca2fe2faf2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7fd37fe20bd19453a1e935ca2fe2faf2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7fd37fe20bd19453a1e935ca2fe2faf2"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232169,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"7fd37fe20bd19453a1e935ca2fe2faf2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7fd37fe20bd19453a1e935ca2fe2faf2","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7fd37fe20bd19453a1e935ca2fe2faf2"} gateway-1 | {"time_local":"04/Feb/2025:18:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d77c08cf-8582-4aac-90a7-0f1395cda882/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7fd37fe20bd19453a1e935ca2fe2faf2"} device-1 | {"level":"info","message":"POST /devices/d77c08cf-8582-4aac-90a7-0f1395cda882/websocket 200 22ms","method":"POST","requestID":"7fd37fe20bd19453a1e935ca2fe2faf2","responseTime":22,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg","level":"info","message":"auth send jwt","requestID":"3d29c1286d451f80f7dd05ccb6fe9b03"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3d29c1286d451f80f7dd05ccb6fe9b03","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3d29c1286d451f80f7dd05ccb6fe9b03"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.339947,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3d29c1286d451f80f7dd05ccb6fe9b03","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3d29c1286d451f80f7dd05ccb6fe9b03","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.261042865Z"}]},"request_id":"f3bebcba-936d-4ab3-ab24-09ad478fe9db","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.395381} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3d29c1286d451f80f7dd05ccb6fe9b03","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3d29c1286d451f80f7dd05ccb6fe9b03"} device-1 | {"level":"info","message":"GET /devices/d77c08cf-8582-4aac-90a7-0f1395cda882? 200 18ms","method":"GET","requestID":"3d29c1286d451f80f7dd05ccb6fe9b03","responseTime":18,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d77c08cf-8582-4aac-90a7-0f1395cda882? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d29c1286d451f80f7dd05ccb6fe9b03"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg","level":"info","message":"auth send jwt","requestID":"02b4200e13671e6e5d3ab0545b709257"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"02b4200e13671e6e5d3ab0545b709257","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02b4200e13671e6e5d3ab0545b709257"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274172,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"02b4200e13671e6e5d3ab0545b709257","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"02b4200e13671e6e5d3ab0545b709257","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.308255580Z"}]},"request_id":"90f4ad6d-a32c-4ffb-bc12-6edd1ed960e8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.421307} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"02b4200e13671e6e5d3ab0545b709257","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02b4200e13671e6e5d3ab0545b709257"} device-1 | {"level":"info","message":"GET /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc? 200 18ms","method":"GET","requestID":"02b4200e13671e6e5d3ab0545b709257","responseTime":18,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"02b4200e13671e6e5d3ab0545b709257"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg","level":"info","message":"auth send jwt","requestID":"c3173adb6604227a0a8d3777d4217378"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c3173adb6604227a0a8d3777d4217378","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c3173adb6604227a0a8d3777d4217378"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.268663,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c3173adb6604227a0a8d3777d4217378","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3173adb6604227a0a8d3777d4217378","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Attempting to run experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Attempting to book experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Successfully booked experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dba22860-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dba27680-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890783,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dba22860-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dba22860-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.29163,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dba27680-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dba27680-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.261042865Z"}]},"request_id":"7787ba07-dcb0-48f8-97d1-f9d5eb80e096","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.507345} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"dba22860-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.308255580Z"}]},"request_id":"3d17c9b8-8706-47af-b22b-1a840c9c0e89","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.5090165} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"dba27680-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dba22860-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/d77c08cf-8582-4aac-90a7-0f1395cda882? 200 23ms","method":"GET","requestID":"dba22860-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dba27680-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc? 200 22ms","method":"GET","requestID":"dba27680-e324-11ef-a766-ff4094b4009c","responseTime":22,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Setting up experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Successfully set up experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dbaf20b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dbaf47c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dbaf95e0-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Successfully running experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706082,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dbaf20b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dbaf20b0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712634,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dbaf47c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dbaf47c0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c23225a-455b-4c4a-bca3-fa1067cab5e6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.5874565} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.969458,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dbaf95e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"dbaf95e0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.261042865Z"}]},"request_id":"29ba8c59-f06c-4079-aedf-9d26be3585e2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.589358} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.308255580Z"}]},"request_id":"f45a2c4d-96d4-4bba-9ba6-720bd5545217","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.5909834} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"dbaf20b0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dbaf47c0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dbaf95e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling 200 15ms","method":"POST","requestID":"dbaf95e0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F22f0bec4-4608-4441-a444-eb756fb364b4#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F22f0bec4-4608-4441-a444-eb756fb364b4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"457a9647-fa7f-4f2b-9ef0-07519df7a801","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.5966089} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dbaf20b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aede5faf-80e9-4c45-9839-6b8ce7b6c4b7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.5969815} device-1 | {"level":"info","message":"GET /devices/d77c08cf-8582-4aac-90a7-0f1395cda882? 200 19ms","method":"GET","requestID":"dbaf20b0-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dbaf47c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc? 200 19ms","method":"GET","requestID":"dbaf47c0-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"c3173adb6604227a0a8d3777d4217378","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dbb22df0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dbb27c10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5caf8e91-f7c4-457b-aeda-062463013b4a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.60425} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.697489,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dbb22df0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c3173adb6604227a0a8d3777d4217378"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dbb22df0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54138962-ecaa-4ca5-8d0d-535d8a9c9ed7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.6065452} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.512507,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} gateway-1 | {"time_local":"04/Feb/2025:18:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"c3173adb6604227a0a8d3777d4217378","responseTime":171,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dbb27c10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dbb27c10-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dbb22df0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling 200 12ms","method":"POST","requestID":"dbb22df0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dbb27c10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling 200 12ms","method":"POST","requestID":"dbb27c10-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg","level":"info","message":"auth send jwt","requestID":"46e90abc6aae21543f8f3d4d3b0921d8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"46e90abc6aae21543f8f3d4d3b0921d8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"46e90abc6aae21543f8f3d4d3b0921d8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dbb4c600-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.606296,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"46e90abc6aae21543f8f3d4d3b0921d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"46e90abc6aae21543f8f3d4d3b0921d8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bec64535-fed3-474b-8ee5-66959b1a8d58","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.6205091} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.048485,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dbb4c600-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dbb4c600-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.261042865Z"}]},"request_id":"650cb343-089f-46c6-a984-4982fb0dd3cc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.6238122} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dbb4c600-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"46e90abc6aae21543f8f3d4d3b0921d8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling 200 9ms","method":"POST","requestID":"dbb4c600-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Building connection plan","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"b1783ce2-09cf-4d86-ade1-0260a3293652"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"35179301-8fbc-409b-95f3-dd8a4e758b0b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b0f4b35e-a3a4-4b9a-956b-f88356f2150d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c3173adb6604227a0a8d3777d4217378"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c3173adb6604227a0a8d3777d4217378"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"46e90abc6aae21543f8f3d4d3b0921d8"} gateway-1 | {"time_local":"04/Feb/2025:18:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d77c08cf-8582-4aac-90a7-0f1395cda882? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46e90abc6aae21543f8f3d4d3b0921d8"} device-1 | {"level":"info","message":"GET /devices/d77c08cf-8582-4aac-90a7-0f1395cda882? 200 14ms","method":"GET","requestID":"46e90abc6aae21543f8f3d4d3b0921d8","responseTime":14,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882?"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.660541,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg","level":"info","message":"auth send jwt","requestID":"a87522e081159458986bb748c406cfc4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a87522e081159458986bb748c406cfc4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a87522e081159458986bb748c406cfc4"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698853,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a87522e081159458986bb748c406cfc4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693291,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5MX0.JfEJuG1uJtr5pxUJ8lkStS_jM9BKn_NYC3tl4jnSBTg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a87522e081159458986bb748c406cfc4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:29.308255580Z"}]},"request_id":"8ed6e840-784b-4ddd-8008-2ebd73f371b4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.6419408} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a87522e081159458986bb748c406cfc4","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"51353f83-d93a-4bf1-9a41-f79331bab7af","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.6431677} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26f6cd82-fb2a-4893-ad70-5cb418d634b4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.6435091} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a87522e081159458986bb748c406cfc4"} device-1 | {"level":"info","message":"GET /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc? 200 12ms","method":"GET","requestID":"a87522e081159458986bb748c406cfc4","responseTime":12,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a87522e081159458986bb748c406cfc4"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c'","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c'","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 41ms","method":"POST","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c","responseTime":41,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"dbb673b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c","device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c3173adb6604227a0a8d3777d4217378"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dbc17030-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92ef1bb5-3629-48bc-a081-9ffa39015c35","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.7040303} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.426042,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dbc17030-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dbc17030-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dbc17030-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling 200 9ms","method":"POST","requestID":"dbc17030-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling"} device-1 | {"device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dbc36c00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d39b52e-a26b-4e77-b5f0-dfeb83eeea02","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693291.716786} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457648,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dbc36c00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dbc36c00-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dbc36c00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling 200 9ms","method":"POST","requestID":"dbc36c00-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling"} device-1 | {"device":"a491a274-6396-4df2-b7d0-bfe02aa928bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"1e60d49b-e839-46a3-9e8b-79c378671f8c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6132573179377944466 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:2Xp/\r\na=ice-pwd:QAJHMKdDIsqgqmltPNZEzh5e\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4F:D7:58:62:85:D9:67:63:72:AE:AB:90:76:C6:46:91:01:B7:49:E9:04:41:48:87:71:F5:51:87:BA:90:D1:9B\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:257180600 1 udp 2113937151 6788959a-8268-4607-9f7a-8ed536cf26cc.local 42532 typ host generation 0 ufrag 2Xp/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:2339973575 1 udp 1677729535 141.24.211.56 42532 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 2Xp/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a491a274-6396-4df2-b7d0-bfe02aa928bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a491a274-6396-4df2-b7d0-bfe02aa928bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a491a274-6396-4df2-b7d0-bfe02aa928bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1e60d49b-e839-46a3-9e8b-79c378671f8c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3e566e8dc63d28a1910cef6a2684721c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3e566e8dc63d28a1910cef6a2684721c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c"}}},"level":"info","message":"received a callback","requestID":"3e566e8dc63d28a1910cef6a2684721c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"3e566e8dc63d28a1910cef6a2684721c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e566e8dc63d28a1910cef6a2684721c"} device-1 | {"data":{"peerconnection":"1e60d49b-e839-46a3-9e8b-79c378671f8c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a491a274-6396-4df2-b7d0-bfe02aa928bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a491a274-6396-4df2-b7d0-bfe02aa928bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"1e60d49b-e839-46a3-9e8b-79c378671f8c","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1e60d49b-e839-46a3-9e8b-79c378671f8c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a5223c07488334e5449b67d1c791e204","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a5223c07488334e5449b67d1c791e204","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c"}}},"level":"info","message":"received a callback","requestID":"a5223c07488334e5449b67d1c791e204"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"dd0cb4e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1e60d49b-e839-46a3-9e8b-79c378671f8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebfe26b2-e28f-4e95-a39e-c6ed6b266f72","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693293.8784668} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.227,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dd0cb4e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"dd0cb4e0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"dd0cb4e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c 200 16ms","method":"GET","requestID":"dd0cb4e0-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"a5223c07488334e5449b67d1c791e204","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"a5223c07488334e5449b67d1c791e204"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dd131d80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc931b9d-aaf6-4c5c-9ece-03741cb872eb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693293.9188495} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.825709,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dd131d80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"dd131d80-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dd131d80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling 200 15ms","method":"POST","requestID":"dd131d80-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dd15dca0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f202fd18-dec2-4079-bd6b-9fb91b5de1a6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693293.9363132} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.152751,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dd15dca0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dd15dca0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dd15dca0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling 200 12ms","method":"POST","requestID":"dd15dca0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5M30.dtV0aaBuf3Qnh0dZXGSSLG8UujlbiMoGY2ot2ySiIm4","level":"info","message":"auth send jwt","requestID":"a03802a7148fb1da798502a197a03515"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a03802a7148fb1da798502a197a03515","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/22f0bec4-4608-4441-a444-eb756fb364b4","requestID":"a03802a7148fb1da798502a197a03515"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.835873,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a03802a7148fb1da798502a197a03515","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693293,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5M30.dtV0aaBuf3Qnh0dZXGSSLG8UujlbiMoGY2ot2ySiIm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a03802a7148fb1da798502a197a03515","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/22f0bec4-4608-4441-a444-eb756fb364b4","requestID":"a03802a7148fb1da798502a197a03515"} gateway-1 | {"time_local":"04/Feb/2025:18:21:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/22f0bec4-4608-4441-a444-eb756fb364b4 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a03802a7148fb1da798502a197a03515"} experiment-1 | {"level":"info","message":"GET /experiments/22f0bec4-4608-4441-a444-eb756fb364b4 200 12ms","method":"GET","requestID":"a03802a7148fb1da798502a197a03515","responseTime":12,"status":200,"url":"/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5M30.dtV0aaBuf3Qnh0dZXGSSLG8UujlbiMoGY2ot2ySiIm4","level":"info","message":"auth send jwt","requestID":"817133afcfabb1ee0925ef5e1b4d6c70"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"817133afcfabb1ee0925ef5e1b4d6c70","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/22f0bec4-4608-4441-a444-eb756fb364b4","requestID":"817133afcfabb1ee0925ef5e1b4d6c70"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.446874,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"817133afcfabb1ee0925ef5e1b4d6c70","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693293,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5M30.dtV0aaBuf3Qnh0dZXGSSLG8UujlbiMoGY2ot2ySiIm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"817133afcfabb1ee0925ef5e1b4d6c70","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Attempting to finish experiment","requestID":"817133afcfabb1ee0925ef5e1b4d6c70"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"dd1e8f30-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":3.281783,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dd1e8f30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693293,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5M30.dtV0aaBuf3Qnh0dZXGSSLG8UujlbiMoGY2ot2ySiIm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dd1e8f30-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c","device":"d77c08cf-8582-4aac-90a7-0f1395cda882","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"a491a274-6396-4df2-b7d0-bfe02aa928bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a491a274-6396-4df2-b7d0-bfe02aa928bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a491a274-6396-4df2-b7d0-bfe02aa928bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1e60d49b-e839-46a3-9e8b-79c378671f8c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"25c4a049e054d8d31180dff614896ede","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25c4a049e054d8d31180dff614896ede","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eb708a9a8aac611d4591ee3fc52dbadd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1e60d49b-e839-46a3-9e8b-79c378671f8c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1e60d49b-e839-46a3-9e8b-79c378671f8c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"ba462fd6-88bb-453b-b8ba-55795eb0c26b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.0236096} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c"}}},"level":"info","message":"received a callback","requestID":"25c4a049e054d8d31180dff614896ede"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb708a9a8aac611d4591ee3fc52dbadd","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d286c4d-afad-4fa2-847b-30d7a8ed2562","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.0250366} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"dd1e8f30-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c"}}},"level":"info","message":"received a callback","requestID":"eb708a9a8aac611d4591ee3fc52dbadd"} device-1 | {"data":{"peerconnection":"1e60d49b-e839-46a3-9e8b-79c378671f8c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"dd1e8f30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c 204 66ms","method":"DELETE","requestID":"dd1e8f30-e324-11ef-a766-ff4094b4009c","responseTime":66,"status":204,"url":"/peerconnections/1e60d49b-e839-46a3-9e8b-79c378671f8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"},"level":"info","message":"Successfully finished experiment","requestID":"817133afcfabb1ee0925ef5e1b4d6c70"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dd2c98f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd77c08cf-8582-4aac-90a7-0f1395cda882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cb792a5-bbff-4fc7-8b47-5e6ee16a60c5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.0872169} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.749482,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dd2c98f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"dd2c98f0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dd2c98f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F22f0bec4-4608-4441-a444-eb756fb364b4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F22f0bec4-4608-4441-a444-eb756fb364b4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"7597baee-f1b2-4850-83fa-a986172121a9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.0943716} device-1 | {"level":"info","message":"POST /devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling 200 16ms","method":"POST","requestID":"dd2c98f0-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/d77c08cf-8582-4aac-90a7-0f1395cda882/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de7027f8-31c9-4d37-9665-7be3a2e7d9ef","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.0955613} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"817133afcfabb1ee0925ef5e1b4d6c70","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dd2f7f20-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa491a274-6396-4df2-b7d0-bfe02aa928bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1aa7e366-e92d-4ebc-a8b3-aba9b782d0a0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.105381} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.664308,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dd2f7f20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"dd2f7f20-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dd2f7f20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling 200 14ms","method":"POST","requestID":"dd2f7f20-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/22f0bec4-4608-4441-a444-eb756fb364b4","requestID":"817133afcfabb1ee0925ef5e1b4d6c70"} gateway-1 | {"time_local":"04/Feb/2025:18:21:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/22f0bec4-4608-4441-a444-eb756fb364b4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"817133afcfabb1ee0925ef5e1b4d6c70"} experiment-1 | {"level":"info","message":"DELETE /experiments/22f0bec4-4608-4441-a444-eb756fb364b4 204 195ms","method":"DELETE","requestID":"817133afcfabb1ee0925ef5e1b4d6c70","responseTime":195,"status":204,"url":"/experiments/22f0bec4-4608-4441-a444-eb756fb364b4"} gateway-1 | {"time_local":"04/Feb/2025:18:21:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2836","request_time":"4.296","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"e9813872363c4f33fd8d2050448770b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"25c4a049e054d8d31180dff614896ede","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"25c4a049e054d8d31180dff614896ede"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"eb708a9a8aac611d4591ee3fc52dbadd","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"eb708a9a8aac611d4591ee3fc52dbadd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5NH0.Q0MGpnPR1aacJGP7a_WiBCDD6vLRRbu5QYKweV1ea1Q","level":"info","message":"auth send jwt","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:34Z"} gateway-1 | {"time_local":"04/Feb/2025:18:21:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.812","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0e06677df1fafe1c3215f1e8c4e4cf9d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.05671,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693294,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5NH0.Q0MGpnPR1aacJGP7a_WiBCDD6vLRRbu5QYKweV1ea1Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a491a274-6396-4df2-b7d0-bfe02aa928bc' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0475a3c6-4e90-4676-b786-90e440abb6ea","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.1896317} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d77c08cf-8582-4aac-90a7-0f1395cda882' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f8021d4-3508-4494-9ae9-6dbd0fbe9850","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.1962883} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"4f4735c3-d5b2-4f1e-9d53-b0d567857949","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.2095642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4dc81d3-477d-4486-bbfc-b1ae11032c1a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.2097328} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.209544578Z"}]},"request_id":"001650c3-7eb3-4a2b-a07a-46fdfd7d2fc3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.2138848} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fe9cae6ae0beb3be742cd3e91c2f2a1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5NH0.Q0MGpnPR1aacJGP7a_WiBCDD6vLRRbu5QYKweV1ea1Q","level":"info","message":"auth send jwt","requestID":"3c02a470e5901c123477f2ed0126037a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3c02a470e5901c123477f2ed0126037a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3c02a470e5901c123477f2ed0126037a"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.67461,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3c02a470e5901c123477f2ed0126037a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693294,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5NH0.Q0MGpnPR1aacJGP7a_WiBCDD6vLRRbu5QYKweV1ea1Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3c02a470e5901c123477f2ed0126037a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3c07205d-8d2f-4791-b425-9b9a71a8b4e8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.2362776} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3c02a470e5901c123477f2ed0126037a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b27d84d-2584-4160-9af9-f9a90018d1b5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.2408755} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3c02a470e5901c123477f2ed0126037a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"7962117d-e3db-49dc-b544-2a806788b0af","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.2507596} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28ef9d1f-1486-45e5-8e49-c2c41b6a8823","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.2508512} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"3c02a470e5901c123477f2ed0126037a","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.250733111Z"}]},"request_id":"19d60323-8224-4b46-aac6-e1a7652b2749","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.2550435} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3c02a470e5901c123477f2ed0126037a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3c02a470e5901c123477f2ed0126037a"} gateway-1 | {"time_local":"04/Feb/2025:18:21:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c02a470e5901c123477f2ed0126037a"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"3c02a470e5901c123477f2ed0126037a","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5NH0.Q0MGpnPR1aacJGP7a_WiBCDD6vLRRbu5QYKweV1ea1Q","level":"info","message":"auth send jwt","requestID":"1b5f180e55db84d319a047d2f81f2eb5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b5f180e55db84d319a047d2f81f2eb5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"1b5f180e55db84d319a047d2f81f2eb5"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.090713,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1b5f180e55db84d319a047d2f81f2eb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693294,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5NH0.Q0MGpnPR1aacJGP7a_WiBCDD6vLRRbu5QYKweV1ea1Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1b5f180e55db84d319a047d2f81f2eb5","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.250733111Z"}]},"request_id":"5775e7e5-1726-4490-b7cd-9765cdca8443","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.7267585} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1b5f180e55db84d319a047d2f81f2eb5","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40d341d9-4db9-4cfb-9344-fa5546461e0d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.7345338} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"1b5f180e55db84d319a047d2f81f2eb5","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.250733111Z"}]},"request_id":"2ad9d0c3-34f2-4891-add8-8c16e86a9b1d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693294.7511046} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1b5f180e55db84d319a047d2f81f2eb5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"1b5f180e55db84d319a047d2f81f2eb5"} device-1 | {"level":"info","message":"PATCH /devices/9684df07-eaa8-4a9f-9992-322165aefc49 200 41ms","method":"PATCH","requestID":"1b5f180e55db84d319a047d2f81f2eb5","responseTime":41,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49"} gateway-1 | {"time_local":"04/Feb/2025:18:21:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9684df07-eaa8-4a9f-9992-322165aefc49 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"1b5f180e55db84d319a047d2f81f2eb5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5NH0.Q0MGpnPR1aacJGP7a_WiBCDD6vLRRbu5QYKweV1ea1Q","level":"info","message":"auth send jwt","requestID":"05b04316a50dc1e3f9ee86f82bfa4566"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"05b04316a50dc1e3f9ee86f82bfa4566","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"05b04316a50dc1e3f9ee86f82bfa4566"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169694,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"05b04316a50dc1e3f9ee86f82bfa4566","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693294,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5NH0.Q0MGpnPR1aacJGP7a_WiBCDD6vLRRbu5QYKweV1ea1Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"05b04316a50dc1e3f9ee86f82bfa4566","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"05b04316a50dc1e3f9ee86f82bfa4566"} gateway-1 | {"time_local":"04/Feb/2025:18:21:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9684df07-eaa8-4a9f-9992-322165aefc49/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"05b04316a50dc1e3f9ee86f82bfa4566"} device-1 | {"level":"info","message":"POST /devices/9684df07-eaa8-4a9f-9992-322165aefc49/websocket 200 23ms","method":"POST","requestID":"05b04316a50dc1e3f9ee86f82bfa4566","responseTime":23,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8591c2863c0e622212051962475fe009","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8591c2863c0e622212051962475fe009","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8591c2863c0e622212051962475fe009"} device-1 | {"level":"info","message":"OPTIONS /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/websocket 200 1ms","method":"OPTIONS","requestID":"8591c2863c0e622212051962475fe009","responseTime":1,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog","level":"info","message":"auth send jwt","requestID":"41f8599057ad6368dcd294665bf71a8d"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"41f8599057ad6368dcd294665bf71a8d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"41f8599057ad6368dcd294665bf71a8d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.36238,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"41f8599057ad6368dcd294665bf71a8d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"41f8599057ad6368dcd294665bf71a8d","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"41f8599057ad6368dcd294665bf71a8d"} gateway-1 | {"time_local":"04/Feb/2025:18:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"41f8599057ad6368dcd294665bf71a8d"} device-1 | {"level":"info","message":"POST /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/websocket 200 35ms","method":"POST","requestID":"41f8599057ad6368dcd294665bf71a8d","responseTime":35,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog","level":"info","message":"auth send jwt","requestID":"4a27e3c9f1f6e28d94b0a44d3c4adaa5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4a27e3c9f1f6e28d94b0a44d3c4adaa5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4a27e3c9f1f6e28d94b0a44d3c4adaa5"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.34853,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4a27e3c9f1f6e28d94b0a44d3c4adaa5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4a27e3c9f1f6e28d94b0a44d3c4adaa5","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.209544578Z"}]},"request_id":"f8c84dce-2e85-406f-ae68-5afe16fdace1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.3216805} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4a27e3c9f1f6e28d94b0a44d3c4adaa5","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4a27e3c9f1f6e28d94b0a44d3c4adaa5"} gateway-1 | {"time_local":"04/Feb/2025:18:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a27e3c9f1f6e28d94b0a44d3c4adaa5"} device-1 | {"level":"info","message":"GET /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0? 200 22ms","method":"GET","requestID":"4a27e3c9f1f6e28d94b0a44d3c4adaa5","responseTime":22,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog","level":"info","message":"auth send jwt","requestID":"d3c806bee0a82e1800177ef0e5cc9b8c"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d3c806bee0a82e1800177ef0e5cc9b8c","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d3c806bee0a82e1800177ef0e5cc9b8c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274145,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d3c806bee0a82e1800177ef0e5cc9b8c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d3c806bee0a82e1800177ef0e5cc9b8c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.250733111Z"}]},"request_id":"15737226-fc40-45e9-8da4-4436f1e14720","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.3520598} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d3c806bee0a82e1800177ef0e5cc9b8c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d3c806bee0a82e1800177ef0e5cc9b8c"} gateway-1 | {"time_local":"04/Feb/2025:18:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9684df07-eaa8-4a9f-9992-322165aefc49? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3c806bee0a82e1800177ef0e5cc9b8c"} device-1 | {"level":"info","message":"GET /devices/9684df07-eaa8-4a9f-9992-322165aefc49? 200 19ms","method":"GET","requestID":"d3c806bee0a82e1800177ef0e5cc9b8c","responseTime":19,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog","level":"info","message":"auth send jwt","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.205325,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Attempting to run experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Attempting to book experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Successfully booked experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de926a80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de92b8a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.126799,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"de926a80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de926a80-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.284938,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"de92b8a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"de92b8a0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.209544578Z"}]},"request_id":"8d57a0a7-3ca5-4533-884c-040ecb6f89b8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.438167} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"de926a80-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.250733111Z"}]},"request_id":"623a8581-fff8-440f-81a7-0fa32125ae51","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.4398284} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"de92b8a0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de926a80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0? 200 23ms","method":"GET","requestID":"de926a80-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de92b8a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/9684df07-eaa8-4a9f-9992-322165aefc49? 200 23ms","method":"GET","requestID":"de92b8a0-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Setting up experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Successfully set up experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de9f89e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de9fff10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dea02620-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Successfully running experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:47398","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.476083,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.489146,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"de9f89e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"de9f89e0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"de9fff10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"de9fff10-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"931770e5-b717-4688-bb10-63d84d06df63","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.5282984} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.250733111Z"}]},"request_id":"a29cba9a-8ece-4f6c-9583-27a46a1e414e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.5283816} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"de9fff10-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.312848,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dea02620-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"dea02620-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.209544578Z"}]},"request_id":"33c84ea3-de75-4c97-8b4d-bd0a530f1625","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.529763} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"de9f89e0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F47d71978-10a0-4673-927b-84b4f7c818e9#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F47d71978-10a0-4673-927b-84b4f7c818e9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"2fc75efa-6a24-488e-a4de-7ba2917deaa4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.535805} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de9fff10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/9684df07-eaa8-4a9f-9992-322165aefc49? 200 24ms","method":"GET","requestID":"de9fff10-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97d03050-64e6-474d-99a8-fea9abbb1905","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.5372176} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dea02620-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling 200 26ms","method":"POST","requestID":"dea02620-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de9f89e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0? 200 31ms","method":"GET","requestID":"de9f89e0-e324-11ef-a766-ff4094b4009c","responseTime":31,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dea50820-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dea57d50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f086e314-58a3-4b8a-bade-df074f5006a6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.5512729} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.58404,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} gateway-1 | {"time_local":"04/Feb/2025:18:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 186ms","method":"POST","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb","responseTime":186,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dea50820-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dea50820-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5eaa0a1-b842-4e56-b195-251df053e5f6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.5541413} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.928042,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dea50820-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling 200 11ms","method":"POST","requestID":"dea50820-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dea57d50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"dea57d50-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog","level":"info","message":"auth send jwt","requestID":"d145a601b5852a39193642fe5254fa14"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d145a601b5852a39193642fe5254fa14","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d145a601b5852a39193642fe5254fa14"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dea57d50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling 200 13ms","method":"POST","requestID":"dea57d50-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871354,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d145a601b5852a39193642fe5254fa14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d145a601b5852a39193642fe5254fa14","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dea81560-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.209544578Z"}]},"request_id":"deede63f-79fb-42d5-8aea-5bb7c867b03c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.568487} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d145a601b5852a39193642fe5254fa14","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.575573,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60215278-b838-4a1b-93f5-495edde26ef6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.5711148} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d145a601b5852a39193642fe5254fa14"} gateway-1 | {"time_local":"04/Feb/2025:18:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d145a601b5852a39193642fe5254fa14"} device-1 | {"level":"info","message":"GET /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0? 200 14ms","method":"GET","requestID":"d145a601b5852a39193642fe5254fa14","responseTime":14,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dea81560-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dea81560-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dea81560-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling 200 10ms","method":"POST","requestID":"dea81560-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Building connection plan","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"c4170fbd-db0d-44fe-8dfe-35b9089670d4"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"eb796afd-f7a7-4b4c-92e5-aae72c2a1aef"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e18c7085-e296-4a52-99b1-8192813bf393"}]},"level":"info","message":"Built pairwise service configurations","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog","level":"info","message":"auth send jwt","requestID":"032612c557b4abcdfab91ca16795340f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"032612c557b4abcdfab91ca16795340f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"032612c557b4abcdfab91ca16795340f"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.623596,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"deaa1130-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.537437,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"032612c557b4abcdfab91ca16795340f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693296,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5Nn0.zmtXctxiwupFj_fLp6vYjbvpjIiyYTJp31wuUWn9pog"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"032612c557b4abcdfab91ca16795340f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:34.250733111Z"}]},"request_id":"6ee5a8e4-9bf2-4531-91ff-1d9a4c1c40fc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.5873513} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"032612c557b4abcdfab91ca16795340f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"58e0eef2-c52b-4a86-b642-f6f7f9d2ab07","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.591427} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"032612c557b4abcdfab91ca16795340f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70a8aee7-672e-423c-bed7-b1a3bb208745","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.5916917} gateway-1 | {"time_local":"04/Feb/2025:18:21:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9684df07-eaa8-4a9f-9992-322165aefc49? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"032612c557b4abcdfab91ca16795340f"} device-1 | {"level":"info","message":"GET /devices/9684df07-eaa8-4a9f-9992-322165aefc49? 200 12ms","method":"GET","requestID":"032612c557b4abcdfab91ca16795340f","responseTime":12,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0'","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0'","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"deaa1130-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0","device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"03adfa5a0ce2f4e2548f1b12c79b9ddb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"deb5d100-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef40f134-d44f-4de7-bceb-eea0e962d033","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.6606793} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.67683,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"deb5d100-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"deb5d100-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"deb5d100-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling 200 9ms","method":"POST","requestID":"deb5d100-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"deb77eb0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"861f51ca-66bf-4057-9d65-764280faad37","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693296.6712775} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.464155,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"deb77eb0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"deb77eb0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"deb77eb0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling 200 9ms","method":"POST","requestID":"deb77eb0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling"} device-1 | {"device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"9684df07-eaa8-4a9f-9992-322165aefc49","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5a8a8d14-30ac-4621-831d-690822dae9c0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6760107223539181336 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:g6/6\r\na=ice-pwd:fc5jfc5Qrsl4WoA21LnrtJRT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 88:87:D7:11:D8:5D:0D:0A:80:C2:A4:63:53:E8:7A:21:04:8D:E5:43:CB:28:8C:D3:15:78:9A:48:15:C2:D5:EB\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:678921084 1 udp 2113937151 429cef7d-7bfa-4583-8615-8e0a33c6fb81.local 60634 typ host generation 0 ufrag g6/6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:3143377519 1 udp 1677729535 141.24.211.56 60634 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag g6/6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5a8a8d14-30ac-4621-831d-690822dae9c0","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b53134ae22a177fd08568fea3790c422","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0'"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b53134ae22a177fd08568fea3790c422","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"9684df07-eaa8-4a9f-9992-322165aefc49","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9684df07-eaa8-4a9f-9992-322165aefc49","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9684df07-eaa8-4a9f-9992-322165aefc49","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0"}}},"level":"info","message":"received a callback","requestID":"b53134ae22a177fd08568fea3790c422"} device-1 | {"device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"b53134ae22a177fd08568fea3790c422","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"b53134ae22a177fd08568fea3790c422"} device-1 | {"data":{"peerconnection":"5a8a8d14-30ac-4621-831d-690822dae9c0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9684df07-eaa8-4a9f-9992-322165aefc49","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9684df07-eaa8-4a9f-9992-322165aefc49","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5a8a8d14-30ac-4621-831d-690822dae9c0","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5a8a8d14-30ac-4621-831d-690822dae9c0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0f5802ac02218ea04f4051de7e61299e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f5802ac02218ea04f4051de7e61299e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0"}}},"level":"info","message":"received a callback","requestID":"0f5802ac02218ea04f4051de7e61299e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e001b1f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5a8a8d14-30ac-4621-831d-690822dae9c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29a99550-3cb4-491b-8af3-d2373c547276","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693298.8397205} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":5.565391,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e001b1f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"e001b1f0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e001b1f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0 200 15ms","method":"GET","requestID":"e001b1f0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"0f5802ac02218ea04f4051de7e61299e","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f5802ac02218ea04f4051de7e61299e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e007f380-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ec45afd-2d45-499d-a37d-1a70d9a67170","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693298.8797536} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.156084,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e007f380-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e007f380-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e007f380-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling 200 15ms","method":"POST","requestID":"e007f380-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e00ad9b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e5e9ba9-4b92-4ba8-81e5-50ed943f0f1a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693298.8985388} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.405648,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e00ad9b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e00ad9b0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e00ad9b0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OH0.YazTboQRJQnt4IBUbOCMyy4AFSv5CM9tRX9UBFPUyZg","level":"info","message":"auth send jwt","requestID":"db9f16d61af24126a74fc6dd8261984b"} device-1 | {"level":"info","message":"POST /devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling 200 16ms","method":"POST","requestID":"e00ad9b0-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"db9f16d61af24126a74fc6dd8261984b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/47d71978-10a0-4673-927b-84b4f7c818e9","requestID":"db9f16d61af24126a74fc6dd8261984b"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.254115,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"db9f16d61af24126a74fc6dd8261984b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693298,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OH0.YazTboQRJQnt4IBUbOCMyy4AFSv5CM9tRX9UBFPUyZg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"db9f16d61af24126a74fc6dd8261984b","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/47d71978-10a0-4673-927b-84b4f7c818e9","requestID":"db9f16d61af24126a74fc6dd8261984b"} gateway-1 | {"time_local":"04/Feb/2025:18:21:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/47d71978-10a0-4673-927b-84b4f7c818e9 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db9f16d61af24126a74fc6dd8261984b"} experiment-1 | {"level":"info","message":"GET /experiments/47d71978-10a0-4673-927b-84b4f7c818e9 200 18ms","method":"GET","requestID":"db9f16d61af24126a74fc6dd8261984b","responseTime":18,"status":200,"url":"/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OH0.YazTboQRJQnt4IBUbOCMyy4AFSv5CM9tRX9UBFPUyZg","level":"info","message":"auth send jwt","requestID":"d74345b32ae3f1e0967cd16a03e02077"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d74345b32ae3f1e0967cd16a03e02077","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/47d71978-10a0-4673-927b-84b4f7c818e9","requestID":"d74345b32ae3f1e0967cd16a03e02077"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.280163,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d74345b32ae3f1e0967cd16a03e02077","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693298,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OH0.YazTboQRJQnt4IBUbOCMyy4AFSv5CM9tRX9UBFPUyZg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d74345b32ae3f1e0967cd16a03e02077","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Attempting to finish experiment","requestID":"d74345b32ae3f1e0967cd16a03e02077"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e0142880-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.770741,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e0142880-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693298,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OH0.YazTboQRJQnt4IBUbOCMyy4AFSv5CM9tRX9UBFPUyZg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e0142880-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0","device":"f793aeae-5e38-4a07-89df-868c2ef18ed0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"9684df07-eaa8-4a9f-9992-322165aefc49","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9684df07-eaa8-4a9f-9992-322165aefc49","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9684df07-eaa8-4a9f-9992-322165aefc49","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5a8a8d14-30ac-4621-831d-690822dae9c0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5a8a8d14-30ac-4621-831d-690822dae9c0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5a8a8d14-30ac-4621-831d-690822dae9c0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"e08cc579-b6ed-4553-aa80-430d10d746a0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693298.9798982} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c5a766238eee492536d0882d1733872c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c5a766238eee492536d0882d1733872c","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"12c660c3e95f9d8deb5b286fb533877e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0"}}},"level":"info","message":"received a callback","requestID":"c5a766238eee492536d0882d1733872c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17a685ae-c502-45f9-8762-6c80d97804bd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693298.9849026} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"12c660c3e95f9d8deb5b286fb533877e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0"}}},"level":"info","message":"received a callback","requestID":"12c660c3e95f9d8deb5b286fb533877e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"e0142880-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"5a8a8d14-30ac-4621-831d-690822dae9c0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e0142880-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0 204 64ms","method":"DELETE","requestID":"e0142880-e324-11ef-a766-ff4094b4009c","responseTime":64,"status":204,"url":"/peerconnections/5a8a8d14-30ac-4621-831d-690822dae9c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"},"level":"info","message":"Successfully finished experiment","requestID":"d74345b32ae3f1e0967cd16a03e02077"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0225950-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff793aeae-5e38-4a07-89df-868c2ef18ed0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b6356a1-04e4-4049-a7e6-2ba01171b2d3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.0529695} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.868651,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e0225950-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"e0225950-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F47d71978-10a0-4673-927b-84b4f7c818e9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F47d71978-10a0-4673-927b-84b4f7c818e9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"9c4fd45c-62e0-4bee-99d1-adb6040dda45","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.0598164} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0225950-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling 200 16ms","method":"POST","requestID":"e0225950-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae251d0f-a5f0-4231-a19b-5686151f3f74","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.06044} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"d74345b32ae3f1e0967cd16a03e02077","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0256690-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9684df07-eaa8-4a9f-9992-322165aefc49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61e7cbd4-e2b6-4858-acae-b47dff1b2b79","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.0721085} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.063534,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e0256690-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e0256690-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0256690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling 200 15ms","method":"POST","requestID":"e0256690-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/9684df07-eaa8-4a9f-9992-322165aefc49/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/47d71978-10a0-4673-927b-84b4f7c818e9","requestID":"d74345b32ae3f1e0967cd16a03e02077"} gateway-1 | {"time_local":"04/Feb/2025:18:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/47d71978-10a0-4673-927b-84b4f7c818e9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d74345b32ae3f1e0967cd16a03e02077"} gateway-1 | {"time_local":"04/Feb/2025:18:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2836","request_time":"4.343","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"d021f24ca8b3c4a315a69029dffb84a9"} experiment-1 | {"level":"info","message":"DELETE /experiments/47d71978-10a0-4673-927b-84b4f7c818e9 204 194ms","method":"DELETE","requestID":"d74345b32ae3f1e0967cd16a03e02077","responseTime":194,"status":204,"url":"/experiments/47d71978-10a0-4673-927b-84b4f7c818e9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"c5a766238eee492536d0882d1733872c","responseTime":148,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"12c660c3e95f9d8deb5b286fb533877e","responseTime":148,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OX0.TVR6HGULRuGXIBnTO_yeNJGsAoo-VkwLL3g44OnvzXQ","level":"info","message":"auth send jwt","requestID":"4e5d498d8b54bc5ba3371700d49a9013"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e5d498d8b54bc5ba3371700d49a9013","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4e5d498d8b54bc5ba3371700d49a9013"} gateway-1 | {"time_local":"04/Feb/2025:18:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"c5a766238eee492536d0882d1733872c"} gateway-1 | {"time_local":"04/Feb/2025:18:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"12c660c3e95f9d8deb5b286fb533877e"} gateway-1 | {"time_local":"04/Feb/2025:18:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.855","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e95ae9bc005b5b32de1da57adaa87cf4"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.92984,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4e5d498d8b54bc5ba3371700d49a9013","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693299,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OX0.TVR6HGULRuGXIBnTO_yeNJGsAoo-VkwLL3g44OnvzXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"4e5d498d8b54bc5ba3371700d49a9013","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9684df07-eaa8-4a9f-9992-322165aefc49' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5f8dc8ef-5538-4515-93a4-2e7e92ab25cb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.1911936} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4e5d498d8b54bc5ba3371700d49a9013","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8608027f-e500-4314-99a0-c002e24b3ee0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.1963599} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f793aeae-5e38-4a07-89df-868c2ef18ed0' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4e5d498d8b54bc5ba3371700d49a9013","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"242af7b9-4762-4e33-9a07-857b766c97af","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.205166} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba35a18f-bc95-42d3-8517-353493ebeead","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.2054956} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"4e5d498d8b54bc5ba3371700d49a9013","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.205139032Z"}]},"request_id":"4c9c44fe-209d-47fc-99fc-816102c64851","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.2095325} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4e5d498d8b54bc5ba3371700d49a9013","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4e5d498d8b54bc5ba3371700d49a9013"} gateway-1 | {"time_local":"04/Feb/2025:18:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e5d498d8b54bc5ba3371700d49a9013"} device-1 | {"level":"info","message":"POST /devices? 201 75ms","method":"POST","requestID":"4e5d498d8b54bc5ba3371700d49a9013","responseTime":75,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OX0.TVR6HGULRuGXIBnTO_yeNJGsAoo-VkwLL3g44OnvzXQ","level":"info","message":"auth send jwt","requestID":"3a4f9f314bcfb988623d2cd20f2f0726"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3a4f9f314bcfb988623d2cd20f2f0726","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3a4f9f314bcfb988623d2cd20f2f0726"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.344162,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3a4f9f314bcfb988623d2cd20f2f0726","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693299,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OX0.TVR6HGULRuGXIBnTO_yeNJGsAoo-VkwLL3g44OnvzXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3a4f9f314bcfb988623d2cd20f2f0726","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e77d34ae-3da3-4ec4-917f-a43db2ee2132","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.2334478} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3a4f9f314bcfb988623d2cd20f2f0726","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d631a66-31c7-46f4-85d7-6b0518af48cb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.2383893} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3a4f9f314bcfb988623d2cd20f2f0726","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"25c9ec10-f0ae-486a-b161-8540589498da","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.2508857} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa75dd46-8bb5-47ac-98d9-a2d68e49ada8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.2509992} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"3a4f9f314bcfb988623d2cd20f2f0726","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.250863659Z"}]},"request_id":"d761ecc5-905c-4054-aa1a-419f943bdfb4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.2562032} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3a4f9f314bcfb988623d2cd20f2f0726","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3a4f9f314bcfb988623d2cd20f2f0726"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"3a4f9f314bcfb988623d2cd20f2f0726","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a4f9f314bcfb988623d2cd20f2f0726"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OX0.TVR6HGULRuGXIBnTO_yeNJGsAoo-VkwLL3g44OnvzXQ","level":"info","message":"auth send jwt","requestID":"74436b3ff6364203cb033a6bae63f9e1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74436b3ff6364203cb033a6bae63f9e1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"74436b3ff6364203cb033a6bae63f9e1"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900463,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"74436b3ff6364203cb033a6bae63f9e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693299,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OX0.TVR6HGULRuGXIBnTO_yeNJGsAoo-VkwLL3g44OnvzXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"74436b3ff6364203cb033a6bae63f9e1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.205139032Z"}]},"request_id":"ccaaea37-7803-4714-8ce6-adfe07ca1f49","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.7418053} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"74436b3ff6364203cb033a6bae63f9e1","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"537e0eb6-b68d-40ac-90b6-226a6521d9e5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.7488835} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"74436b3ff6364203cb033a6bae63f9e1","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.205139032Z"}]},"request_id":"17e1b593-3dca-47ad-a7db-773e95734ecc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693299.7714758} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"74436b3ff6364203cb033a6bae63f9e1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"74436b3ff6364203cb033a6bae63f9e1"} device-1 | {"level":"info","message":"PATCH /devices/3178511e-6d2d-4fe3-8f31-496270e5d944 200 48ms","method":"PATCH","requestID":"74436b3ff6364203cb033a6bae63f9e1","responseTime":48,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944"} gateway-1 | {"time_local":"04/Feb/2025:18:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3178511e-6d2d-4fe3-8f31-496270e5d944 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"74436b3ff6364203cb033a6bae63f9e1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OX0.TVR6HGULRuGXIBnTO_yeNJGsAoo-VkwLL3g44OnvzXQ","level":"info","message":"auth send jwt","requestID":"57aa6282be1c0486f36fa1d0ecaa45c2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"57aa6282be1c0486f36fa1d0ecaa45c2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"57aa6282be1c0486f36fa1d0ecaa45c2"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.209195,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"57aa6282be1c0486f36fa1d0ecaa45c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693299,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzI5OX0.TVR6HGULRuGXIBnTO_yeNJGsAoo-VkwLL3g44OnvzXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"57aa6282be1c0486f36fa1d0ecaa45c2","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"57aa6282be1c0486f36fa1d0ecaa45c2"} gateway-1 | {"time_local":"04/Feb/2025:18:21:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3178511e-6d2d-4fe3-8f31-496270e5d944/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"57aa6282be1c0486f36fa1d0ecaa45c2"} device-1 | {"level":"info","message":"POST /devices/3178511e-6d2d-4fe3-8f31-496270e5d944/websocket 200 23ms","method":"POST","requestID":"57aa6282be1c0486f36fa1d0ecaa45c2","responseTime":23,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e8e42eed3e8057d4699bef9d97684070","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e8e42eed3e8057d4699bef9d97684070","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e8e42eed3e8057d4699bef9d97684070"} device-1 | {"level":"info","message":"OPTIONS /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/websocket 200 2ms","method":"OPTIONS","requestID":"e8e42eed3e8057d4699bef9d97684070","responseTime":2,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU","level":"info","message":"auth send jwt","requestID":"9cff6b4d28e1004816462b413820214f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9cff6b4d28e1004816462b413820214f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9cff6b4d28e1004816462b413820214f"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.318943,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"9cff6b4d28e1004816462b413820214f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9cff6b4d28e1004816462b413820214f","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9cff6b4d28e1004816462b413820214f"} device-1 | {"level":"info","message":"POST /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/websocket 200 42ms","method":"POST","requestID":"9cff6b4d28e1004816462b413820214f","responseTime":42,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9cff6b4d28e1004816462b413820214f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU","level":"info","message":"auth send jwt","requestID":"e9fd02ca1b3de83d5409276a8efcded7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e9fd02ca1b3de83d5409276a8efcded7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e9fd02ca1b3de83d5409276a8efcded7"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.144355,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9fd02ca1b3de83d5409276a8efcded7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e9fd02ca1b3de83d5409276a8efcded7","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.205139032Z"}]},"request_id":"e097edd9-9c9b-421a-b9d0-519dcb0b59cb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.395218} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e9fd02ca1b3de83d5409276a8efcded7","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e9fd02ca1b3de83d5409276a8efcded7"} gateway-1 | {"time_local":"04/Feb/2025:18:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3178511e-6d2d-4fe3-8f31-496270e5d944? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9fd02ca1b3de83d5409276a8efcded7"} device-1 | {"level":"info","message":"GET /devices/3178511e-6d2d-4fe3-8f31-496270e5d944? 200 18ms","method":"GET","requestID":"e9fd02ca1b3de83d5409276a8efcded7","responseTime":18,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU","level":"info","message":"auth send jwt","requestID":"1bb5ce0dcf7503e82b711c5762c7e73b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1bb5ce0dcf7503e82b711c5762c7e73b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1bb5ce0dcf7503e82b711c5762c7e73b"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.263321,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1bb5ce0dcf7503e82b711c5762c7e73b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1bb5ce0dcf7503e82b711c5762c7e73b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.250863659Z"}]},"request_id":"a5f191ca-84c5-4018-9f42-2461cbd01b25","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.420622} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1bb5ce0dcf7503e82b711c5762c7e73b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1bb5ce0dcf7503e82b711c5762c7e73b"} gateway-1 | {"time_local":"04/Feb/2025:18:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bb5ce0dcf7503e82b711c5762c7e73b"} device-1 | {"level":"info","message":"GET /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e? 200 17ms","method":"GET","requestID":"1bb5ce0dcf7503e82b711c5762c7e73b","responseTime":17,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU","level":"info","message":"auth send jwt","requestID":"878d7a98d0abe0f71e1071175ac5c438"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"878d7a98d0abe0f71e1071175ac5c438","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"878d7a98d0abe0f71e1071175ac5c438"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.274345,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"878d7a98d0abe0f71e1071175ac5c438","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"878d7a98d0abe0f71e1071175ac5c438","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Attempting to run experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Attempting to book experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Successfully booked experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e198ccb0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e1991ad0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190369,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e198ccb0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e198ccb0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949305,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1991ad0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e1991ad0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.205139032Z"}]},"request_id":"8cf33069-89c8-4b8b-a74a-564b2ddae648","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.5130985} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e198ccb0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.250863659Z"}]},"request_id":"2275c540-fc2f-4315-8a51-4b57c9f9801c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.5144184} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e1991ad0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e198ccb0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/3178511e-6d2d-4fe3-8f31-496270e5d944? 200 22ms","method":"GET","requestID":"e198ccb0-e324-11ef-a766-ff4094b4009c","responseTime":22,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e1991ad0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e? 200 22ms","method":"GET","requestID":"e1991ad0-e324-11ef-a766-ff4094b4009c","responseTime":22,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Setting up experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Successfully set up experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e1a61320-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e1a66140-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904663,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e1a6d670-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1a61320-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Successfully running experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e1a61320-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736326,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1a66140-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e1a66140-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c23457bd-94ff-45d2-ae44-e6b4d1f389b2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.6000297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.250863659Z"}]},"request_id":"fd916e63-13ac-41e7-b477-8bbf3b675f74","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.602421} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.222567,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1a6d670-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"e1a6d670-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"e1a66140-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.205139032Z"}]},"request_id":"ddd1876b-85d2-4863-8afc-da7ef25e61c8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.604035} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"e1a61320-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee7406e4-8c76-4851-95a6-1ef17e980deb#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee7406e4-8c76-4851-95a6-1ef17e980deb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"3a0858f9-7516-4a74-a942-90f5bae32d14","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.6127448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02563900-fb45-417e-af29-6454e681d0ae","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.6131644} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e1a6d670-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling 200 23ms","method":"POST","requestID":"e1a6d670-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e1a66140-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"878d7a98d0abe0f71e1071175ac5c438","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e? 200 28ms","method":"GET","requestID":"e1a66140-e324-11ef-a766-ff4094b4009c","responseTime":28,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e1a61320-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/3178511e-6d2d-4fe3-8f31-496270e5d944? 200 31ms","method":"GET","requestID":"e1a61320-e324-11ef-a766-ff4094b4009c","responseTime":31,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e1aace10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d664e72-170b-4d97-a180-69954996d6d7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.624302} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.415713,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e1abdf80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1aace10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e1aace10-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"878d7a98d0abe0f71e1071175ac5c438"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e1aace10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling 200 13ms","method":"POST","requestID":"e1aace10-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling"} gateway-1 | {"time_local":"04/Feb/2025:18:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"level":"info","message":"POST /experiments? 201 195ms","method":"POST","requestID":"878d7a98d0abe0f71e1071175ac5c438","responseTime":195,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5ac64e3-9085-47dd-937f-e3ec5f5fe765","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.6331475} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.35991,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1abdf80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"e1abdf80-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU","level":"info","message":"auth send jwt","requestID":"b0bbce7884d788f216589dd04ba9d319"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b0bbce7884d788f216589dd04ba9d319","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b0bbce7884d788f216589dd04ba9d319"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e1abdf80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling 200 17ms","method":"POST","requestID":"e1abdf80-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855088,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b0bbce7884d788f216589dd04ba9d319","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b0bbce7884d788f216589dd04ba9d319","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e1aeecc0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.205139032Z"}]},"request_id":"3732b88b-d64e-4ee5-be38-4e7debf2f375","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.6496205} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aef11497-b925-4fa8-a0db-c8abe630a733","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.6496553} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b0bbce7884d788f216589dd04ba9d319","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.041552,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1aeecc0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e1aeecc0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b0bbce7884d788f216589dd04ba9d319"} gateway-1 | {"time_local":"04/Feb/2025:18:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3178511e-6d2d-4fe3-8f31-496270e5d944? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0bbce7884d788f216589dd04ba9d319"} device-1 | {"level":"info","message":"GET /devices/3178511e-6d2d-4fe3-8f31-496270e5d944? 200 17ms","method":"GET","requestID":"b0bbce7884d788f216589dd04ba9d319","responseTime":17,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e1aeecc0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling 200 14ms","method":"POST","requestID":"e1aeecc0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Building connection plan","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"3f9edbe3-63cc-443d-a0b4-e2ae65044892"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"06e20f60-7b4e-461d-91f4-2d15dff48116"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"004b882f-75a6-433b-a5f8-0edc787cd08d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"878d7a98d0abe0f71e1071175ac5c438"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"878d7a98d0abe0f71e1071175ac5c438"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU","level":"info","message":"auth send jwt","requestID":"90688c75230d638892acb5462fa798d9"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"90688c75230d638892acb5462fa798d9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"90688c75230d638892acb5462fa798d9"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.924021,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975164,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"90688c75230d638892acb5462fa798d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693301,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwMX0.KUv1JTDd06bhHVvfQW63zpC0ErQsWJmIAB7MKHqaycU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"90688c75230d638892acb5462fa798d9","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:39.250863659Z"}]},"request_id":"f52f3008-06dd-48b2-bb5a-dc6eaadfd00a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.6723645} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"90688c75230d638892acb5462fa798d9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"90688c75230d638892acb5462fa798d9"} gateway-1 | {"time_local":"04/Feb/2025:18:21:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"90688c75230d638892acb5462fa798d9"} device-1 | {"level":"info","message":"GET /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e? 200 12ms","method":"GET","requestID":"90688c75230d638892acb5462fa798d9","responseTime":12,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"933a7a51-0676-4e8c-9ceb-c595aeb92c19","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.6764662} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11717f83-3980-4cdc-837d-8dabc602a12f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.6766236} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842'","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842'","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e1b1abe0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842","device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"878d7a98d0abe0f71e1071175ac5c438"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e1bc3330-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe95692e-b1d2-42cd-9223-7e68324fd5b8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.736903} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.660207,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1bc3330-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e1bc3330-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e1bc3330-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling 200 13ms","method":"POST","requestID":"e1bc3330-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 4894512866739918748 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:JH9L\r\na=ice-pwd:zPF/Y092JbaadWRfmH/zSGAG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4F:51:9C:C2:F3:4A:66:E9:FB:F7:1A:A3:D9:9A:A3:E9:02:81:B2:F0:9E:A2:34:27:EF:BD:B9:BE:4C:28:C1:0F\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e1bea430-e324-11ef-a766-ff4094b4009c"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e'"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9618b1f3-fa36-4d44-b8b7-c00f722a6b0b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693301.7520297} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.574039,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e1bea430-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e1bea430-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e1bea430-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling 200 9ms","method":"POST","requestID":"e1bea430-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling"} device-1 | {"device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"cde89620-2538-46f8-ab86-b1cf37a6b842","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cde89620-2538-46f8-ab86-b1cf37a6b842","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"46c8ef3699bc86cc55e5ebe84e7229ea","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"46c8ef3699bc86cc55e5ebe84e7229ea","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842"}}},"level":"info","message":"received a callback","requestID":"46c8ef3699bc86cc55e5ebe84e7229ea"} gateway-1 | {"time_local":"04/Feb/2025:18:21:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"46c8ef3699bc86cc55e5ebe84e7229ea"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"46c8ef3699bc86cc55e5ebe84e7229ea","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"content":{"candidate":"candidate:485706025 1 udp 2113937151 5c0267d8-d763-4219-8cb8-dd9c66439a3b.local 57885 typ host generation 0 ufrag JH9L network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2413357114 1 udp 1677729535 141.24.211.56 57885 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag JH9L network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:838095816 1 udp 33562623 141.24.210.113 56171 typ relay raddr 141.24.211.56 rport 57885 generation 0 ufrag JH9L network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e'"} device-1 | {"device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"cde89620-2538-46f8-ab86-b1cf37a6b842","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"cde89620-2538-46f8-ab86-b1cf37a6b842","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cde89620-2538-46f8-ab86-b1cf37a6b842","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"839966f6bbfaadec207aec5f1c7c7a55","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"839966f6bbfaadec207aec5f1c7c7a55","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842"}}},"level":"info","message":"received a callback","requestID":"839966f6bbfaadec207aec5f1c7c7a55"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e3010f40-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcde89620-2538-46f8-ab86-b1cf37a6b842","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c92653d-abb8-40ce-a405-354e95c2943f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693303.866825} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.704381,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e3010f40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e3010f40-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e3010f40-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842 200 11ms","method":"GET","requestID":"e3010f40-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"839966f6bbfaadec207aec5f1c7c7a55","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"839966f6bbfaadec207aec5f1c7c7a55"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e306b490-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7525bf83-d749-4d61-8b49-900c65d94550","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693303.9034772} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.959296,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e306b490-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e306b490-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e306b490-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling 200 13ms","method":"POST","requestID":"e306b490-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e308fe80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77de787b-4741-4197-9232-0711cb7e9c72","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693303.9172375} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.225858,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e308fe80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e308fe80-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e308fe80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling 200 9ms","method":"POST","requestID":"e308fe80-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwM30.Ng9HOiX-MSKOEVTlByrWkJ4gDIEb1X9jua1TmbDGe5M","level":"info","message":"auth send jwt","requestID":"a4cb13fd7328d24ff5706a5241657649"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a4cb13fd7328d24ff5706a5241657649","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb","requestID":"a4cb13fd7328d24ff5706a5241657649"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.809103,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a4cb13fd7328d24ff5706a5241657649","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693303,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwM30.Ng9HOiX-MSKOEVTlByrWkJ4gDIEb1X9jua1TmbDGe5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a4cb13fd7328d24ff5706a5241657649","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb","requestID":"a4cb13fd7328d24ff5706a5241657649"} gateway-1 | {"time_local":"04/Feb/2025:18:21:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4cb13fd7328d24ff5706a5241657649"} experiment-1 | {"level":"info","message":"GET /experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb 200 13ms","method":"GET","requestID":"a4cb13fd7328d24ff5706a5241657649","responseTime":13,"status":200,"url":"/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwM30.Ng9HOiX-MSKOEVTlByrWkJ4gDIEb1X9jua1TmbDGe5M","level":"info","message":"auth send jwt","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.379418,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2ef546e00dc27c385c3c1ee3ffbd5711","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693303,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwM30.Ng9HOiX-MSKOEVTlByrWkJ4gDIEb1X9jua1TmbDGe5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Attempting to finish experiment","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e311ff30-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.707135,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:43Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e311ff30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693303,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwM30.Ng9HOiX-MSKOEVTlByrWkJ4gDIEb1X9jua1TmbDGe5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e311ff30-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842","device":"ad2bd0e4-ee74-4387-8a74-56e4defc478e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3178511e-6d2d-4fe3-8f31-496270e5d944","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cde89620-2538-46f8-ab86-b1cf37a6b842","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcde89620-2538-46f8-ab86-b1cf37a6b842': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcde89620-2538-46f8-ab86-b1cf37a6b842","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"d3352366-4b42-48b9-9dca-0a2ed0085561","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693303.9926887} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"95bb0fb390a50d3df9178a1d7514ec9e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdfe7500-01ae-48e2-b94f-101ff8173f3d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693303.9931128} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"95bb0fb390a50d3df9178a1d7514ec9e","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"e311ff30-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"03abd5e6020a39a5c62e7a5bb3ffac01","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842"}}},"level":"info","message":"received a callback","requestID":"95bb0fb390a50d3df9178a1d7514ec9e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03abd5e6020a39a5c62e7a5bb3ffac01","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842"}}},"level":"info","message":"received a callback","requestID":"03abd5e6020a39a5c62e7a5bb3ffac01"} device-1 | {"data":{"peerconnection":"cde89620-2538-46f8-ab86-b1cf37a6b842","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e311ff30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842 204 58ms","method":"DELETE","requestID":"e311ff30-e324-11ef-a766-ff4094b4009c","responseTime":58,"status":204,"url":"/peerconnections/cde89620-2538-46f8-ab86-b1cf37a6b842"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"},"level":"info","message":"Successfully finished experiment","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e31e8250-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3178511e-6d2d-4fe3-8f31-496270e5d944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0661a9f1-0f73-4c89-820c-e2ecd77112d7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.0602741} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.352505,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e31e8250-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e31e8250-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e31e8250-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling 200 17ms","method":"POST","requestID":"e31e8250-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/3178511e-6d2d-4fe3-8f31-496270e5d944/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee7406e4-8c76-4851-95a6-1ef17e980deb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee7406e4-8c76-4851-95a6-1ef17e980deb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"bb7a230d-ca7a-4a13-8110-584f0161ca59","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.070951} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"976b7273-bba0-47fe-b3db-8e6acc189fff","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.0715618} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711","responseTime":23,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e321b6a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fad2bd0e4-ee74-4387-8a74-56e4defc478e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8eb5cd2d-7450-406e-bbfe-ad07d3c2837c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.0810745} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.106022,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e321b6a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e321b6a0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e321b6a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling 200 14ms","method":"POST","requestID":"e321b6a0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711"} gateway-1 | {"time_local":"04/Feb/2025:18:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711"} gateway-1 | {"time_local":"04/Feb/2025:18:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"4.346","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"d21fdf9f8567d1003e46005edca0a6f6"} experiment-1 | {"level":"info","message":"DELETE /experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb 204 198ms","method":"DELETE","requestID":"2ef546e00dc27c385c3c1ee3ffbd5711","responseTime":198,"status":204,"url":"/experiments/ee7406e4-8c76-4851-95a6-1ef17e980deb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 159ms","method":"POST","requestID":"95bb0fb390a50d3df9178a1d7514ec9e","responseTime":159,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch","requestID":"95bb0fb390a50d3df9178a1d7514ec9e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 158ms","method":"POST","requestID":"03abd5e6020a39a5c62e7a5bb3ffac01","responseTime":158,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch","requestID":"03abd5e6020a39a5c62e7a5bb3ffac01"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNH0.qZJFNVcdhsYYrkQ3P05y61-zUglI-59mhke12qIUDlE","level":"info","message":"auth send jwt","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57"} gateway-1 | {"time_local":"04/Feb/2025:18:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2740","request_time":"2.801","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d0c27e076241e4eeaa7e31a211296110"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3178511e-6d2d-4fe3-8f31-496270e5d944' closed"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.944733,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b4d01dead38f9c3e76bd11d7fb1aff57","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693304,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNH0.qZJFNVcdhsYYrkQ3P05y61-zUglI-59mhke12qIUDlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9119a33e-b24f-44d6-b6c8-2a15d8eb7930","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.1852484} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ad2bd0e4-ee74-4387-8a74-56e4defc478e' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b73053ba-ff24-4a9d-8ea3-2236e2e22623","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.1912742} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"af720526-8ecc-49fb-a672-90addf3b7c3d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.201862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3afcf04-4585-4650-a509-26665409fac2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.2020335} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.201840556Z"}]},"request_id":"dec79ba7-9089-46ef-ba15-8288103c0020","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.2072427} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57"} gateway-1 | {"time_local":"04/Feb/2025:18:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"b4d01dead38f9c3e76bd11d7fb1aff57","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNH0.qZJFNVcdhsYYrkQ3P05y61-zUglI-59mhke12qIUDlE","level":"info","message":"auth send jwt","requestID":"3ee799392c2396d24b61ae7773f80345"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3ee799392c2396d24b61ae7773f80345","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3ee799392c2396d24b61ae7773f80345"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.801164,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3ee799392c2396d24b61ae7773f80345","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693304,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNH0.qZJFNVcdhsYYrkQ3P05y61-zUglI-59mhke12qIUDlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3ee799392c2396d24b61ae7773f80345","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ba2b30c7-0156-4764-9dbc-792a82abca3d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.2333171} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3ee799392c2396d24b61ae7773f80345","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61967b31-57b9-4db1-ab64-7f5a6828429a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.238281} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3ee799392c2396d24b61ae7773f80345","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"6cdc5095-b75c-4ffa-867d-a946b345bb15","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.2505913} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c2f1870-dd50-45ff-b87f-041ed4db80d8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.2508335} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"3ee799392c2396d24b61ae7773f80345","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.250563524Z"}]},"request_id":"5b6a18d4-56be-4ce7-a710-ab2923c3bb43","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.2551548} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3ee799392c2396d24b61ae7773f80345","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3ee799392c2396d24b61ae7773f80345"} gateway-1 | {"time_local":"04/Feb/2025:18:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ee799392c2396d24b61ae7773f80345"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"3ee799392c2396d24b61ae7773f80345","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNH0.qZJFNVcdhsYYrkQ3P05y61-zUglI-59mhke12qIUDlE","level":"info","message":"auth send jwt","requestID":"dce976c13b330a2836519ba6b7294b89"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dce976c13b330a2836519ba6b7294b89","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"dce976c13b330a2836519ba6b7294b89"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.846174,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dce976c13b330a2836519ba6b7294b89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693304,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNH0.qZJFNVcdhsYYrkQ3P05y61-zUglI-59mhke12qIUDlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dce976c13b330a2836519ba6b7294b89","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.201840556Z"}]},"request_id":"e2585d63-33c3-489b-9bee-3cdfc3f6aed4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.7168355} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dce976c13b330a2836519ba6b7294b89","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"064c85fe-08ac-4244-9318-8c8c836a220a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.7227633} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"dce976c13b330a2836519ba6b7294b89","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.201840556Z"}]},"request_id":"891e0cc8-1ed7-4e5d-9687-21bb11d68a09","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693304.7484589} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dce976c13b330a2836519ba6b7294b89","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"dce976c13b330a2836519ba6b7294b89"} gateway-1 | {"time_local":"04/Feb/2025:18:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"dce976c13b330a2836519ba6b7294b89"} device-1 | {"level":"info","message":"PATCH /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66 200 47ms","method":"PATCH","requestID":"dce976c13b330a2836519ba6b7294b89","responseTime":47,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNH0.qZJFNVcdhsYYrkQ3P05y61-zUglI-59mhke12qIUDlE","level":"info","message":"auth send jwt","requestID":"f20bbbe5aa01101f445f9f55133e86e7"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f20bbbe5aa01101f445f9f55133e86e7","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f20bbbe5aa01101f445f9f55133e86e7"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.354358,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f20bbbe5aa01101f445f9f55133e86e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693304,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNH0.qZJFNVcdhsYYrkQ3P05y61-zUglI-59mhke12qIUDlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f20bbbe5aa01101f445f9f55133e86e7","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f20bbbe5aa01101f445f9f55133e86e7"} gateway-1 | {"time_local":"04/Feb/2025:18:21:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"f20bbbe5aa01101f445f9f55133e86e7"} device-1 | {"level":"info","message":"POST /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/websocket 200 20ms","method":"POST","requestID":"f20bbbe5aa01101f445f9f55133e86e7","responseTime":20,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf31c7910d551d8ce02a890dd57c5909","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cf31c7910d551d8ce02a890dd57c5909","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cf31c7910d551d8ce02a890dd57c5909"} device-1 | {"level":"info","message":"OPTIONS /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/websocket 200 1ms","method":"OPTIONS","requestID":"cf31c7910d551d8ce02a890dd57c5909","responseTime":1,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM","level":"info","message":"auth send jwt","requestID":"a38fc5d969721280436e9c14cd641fc4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a38fc5d969721280436e9c14cd641fc4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a38fc5d969721280436e9c14cd641fc4"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2453,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a38fc5d969721280436e9c14cd641fc4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a38fc5d969721280436e9c14cd641fc4","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a38fc5d969721280436e9c14cd641fc4"} device-1 | {"level":"info","message":"POST /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/websocket 200 27ms","method":"POST","requestID":"a38fc5d969721280436e9c14cd641fc4","responseTime":27,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a38fc5d969721280436e9c14cd641fc4"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM","level":"info","message":"auth send jwt","requestID":"c0ca038c6f5b783779de3e8f792f78a2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c0ca038c6f5b783779de3e8f792f78a2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0ca038c6f5b783779de3e8f792f78a2"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.392551,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c0ca038c6f5b783779de3e8f792f78a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c0ca038c6f5b783779de3e8f792f78a2","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.201840556Z"}]},"request_id":"f71e6302-823b-4d1f-9e2e-7409d004d623","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.347276} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c0ca038c6f5b783779de3e8f792f78a2","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0ca038c6f5b783779de3e8f792f78a2"} device-1 | {"level":"info","message":"GET /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66? 200 22ms","method":"GET","requestID":"c0ca038c6f5b783779de3e8f792f78a2","responseTime":22,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0ca038c6f5b783779de3e8f792f78a2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM","level":"info","message":"auth send jwt","requestID":"53530ba284d6603087955983ff1a36bf"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"53530ba284d6603087955983ff1a36bf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"53530ba284d6603087955983ff1a36bf"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.15301,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"53530ba284d6603087955983ff1a36bf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"53530ba284d6603087955983ff1a36bf","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.250563524Z"}]},"request_id":"9de351ff-1048-4dcd-9333-b61f43a2a1e3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.3768463} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"53530ba284d6603087955983ff1a36bf","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"53530ba284d6603087955983ff1a36bf"} device-1 | {"level":"info","message":"GET /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c? 200 17ms","method":"GET","requestID":"53530ba284d6603087955983ff1a36bf","responseTime":17,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53530ba284d6603087955983ff1a36bf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM","level":"info","message":"auth send jwt","requestID":"3712f78c5c602b38e5cbae29b29a4120"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3712f78c5c602b38e5cbae29b29a4120","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3712f78c5c602b38e5cbae29b29a4120"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.14485,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3712f78c5c602b38e5cbae29b29a4120","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3712f78c5c602b38e5cbae29b29a4120","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Attempting to run experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Attempting to book experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Successfully booked experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e48c6a30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e48cb850-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.834483,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e48c6a30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e48c6a30-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806517,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e48cb850-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e48cb850-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.201840556Z"}]},"request_id":"58b17512-987b-4098-9344-53fedc62c420","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.4618115} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e48c6a30-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.250563524Z"}]},"request_id":"1a07bba1-6394-473b-8cf8-ea873aa4bc43","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.4630558} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e48cb850-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e48cb850-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c? 200 16ms","method":"GET","requestID":"e48cb850-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e48c6a30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66? 200 20ms","method":"GET","requestID":"e48c6a30-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Setting up experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Successfully set up experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4985110-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4987820-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e498ed50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.449045,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Successfully running experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e4985110-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e4985110-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228164,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e4987820-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e4987820-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d122e846-0983-468a-b4ef-b3be730a6bcd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.5433657} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.250563524Z"}]},"request_id":"5be67729-87aa-4033-b42d-4c12ba54c391","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.5448213} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.965726,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e498ed50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"e498ed50-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e4987820-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.201840556Z"}]},"request_id":"9232ab44-a82a-4898-9ceb-bb0e2462a6e7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.5461915} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e4985110-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e498ed50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling 200 18ms","method":"POST","requestID":"e498ed50-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4987820-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c? 200 22ms","method":"GET","requestID":"e4987820-e324-11ef-a766-ff4094b4009c","responseTime":22,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4985110-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66? 200 24ms","method":"GET","requestID":"e4985110-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e49bfa90-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e49c48b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60d7d73a-bb5b-49e6-9f19-de6a75bd4652#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60d7d73a-bb5b-49e6-9f19-de6a75bd4652","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"28f12db9-7cd4-403b-8475-efdaa30f0ba4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.5566652} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c522d497-f3b7-4df9-a3e0-202f64f81d45","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.5569634} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abdd3d3f-4fbb-4324-887c-6df37c3cf3c5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.5589848} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.112923,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"3712f78c5c602b38e5cbae29b29a4120","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e49bfa90-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e49bfa90-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1491e923-2ab6-4980-a157-8699d51a0ee7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.5610316} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.355078,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e49c48b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e49c48b0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e49bfa90-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling 200 14ms","method":"POST","requestID":"e49bfa90-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3712f78c5c602b38e5cbae29b29a4120"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e49c48b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling 200 13ms","method":"POST","requestID":"e49c48b0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling"} gateway-1 | {"time_local":"04/Feb/2025:18:21:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"level":"info","message":"POST /experiments? 201 177ms","method":"POST","requestID":"3712f78c5c602b38e5cbae29b29a4120","responseTime":177,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e49f07d0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM","level":"info","message":"auth send jwt","requestID":"17e69fac3a21f8aa396e31b059c82238"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"17e69fac3a21f8aa396e31b059c82238","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17e69fac3a21f8aa396e31b059c82238"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bff9d94e-ca35-4999-bdf9-ecc7366139ab","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.5782819} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.973303,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"17e69fac3a21f8aa396e31b059c82238","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"17e69fac3a21f8aa396e31b059c82238","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.933297,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e49f07d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e49f07d0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.201840556Z"}]},"request_id":"8250e092-a5db-4b8c-9fe1-f44dac1714db","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.583623} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"17e69fac3a21f8aa396e31b059c82238","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e49f07d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling 200 14ms","method":"POST","requestID":"e49f07d0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17e69fac3a21f8aa396e31b059c82238"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Building connection plan","requestID":"3712f78c5c602b38e5cbae29b29a4120"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"51b74f0b-7524-4e01-9d10-8111897eaf77"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"682982b0-5bac-4431-99bf-fc5ee916d697"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f316c63c-8b1d-4e8e-8ac3-953734390ef6"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3712f78c5c602b38e5cbae29b29a4120"} gateway-1 | {"time_local":"04/Feb/2025:18:21:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17e69fac3a21f8aa396e31b059c82238"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3712f78c5c602b38e5cbae29b29a4120"} device-1 | {"level":"info","message":"GET /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66? 200 14ms","method":"GET","requestID":"17e69fac3a21f8aa396e31b059c82238","responseTime":14,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM","level":"info","message":"auth send jwt","requestID":"6eb62135436cb61fe2bf15501dc525bd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6eb62135436cb61fe2bf15501dc525bd","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6eb62135436cb61fe2bf15501dc525bd"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.843089,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757435,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6eb62135436cb61fe2bf15501dc525bd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693306,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwNn0.aAohlSoObA_0Ivndkhm-1n6KeMwSRIE06kTqZvF3zIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6eb62135436cb61fe2bf15501dc525bd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:44.250563524Z"}]},"request_id":"c66a1fb1-3721-4792-9b77-1762dca72da5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.6020904} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6eb62135436cb61fe2bf15501dc525bd","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"048222fe-4e94-40a1-94ea-d1db1f8837d3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.6047747} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ab2d43d-430d-4dad-aeba-842c8a5d0214","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.6049638} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6eb62135436cb61fe2bf15501dc525bd"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"04/Feb/2025:18:21:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6eb62135436cb61fe2bf15501dc525bd"} device-1 | {"level":"info","message":"GET /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c? 200 14ms","method":"GET","requestID":"6eb62135436cb61fe2bf15501dc525bd","responseTime":14,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e'","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e'","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 44ms","method":"POST","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c","responseTime":44,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e4a1c6f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e","device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3712f78c5c602b38e5cbae29b29a4120"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4acc370-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba9263bc-5cda-4994-986e-38f5957f9cee","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.6690342} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.673862,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e4acc370-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e4acc370-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4acc370-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling 200 12ms","method":"POST","requestID":"e4acc370-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 4088331969365289767 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:P0ht\r\na=ice-pwd:/vx4rFrFmB7cobeF86LVi+Xp\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E2:71:2B:7D:8C:B0:AA:C9:5F:0F:A8:A5:6D:0D:77:3F:99:30:A0:00:49:D4:CD:FB:49:E9:3E:19:F3:F5:01:7F\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4af0d60-e324-11ef-a766-ff4094b4009c"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c'"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a47d29e6-8fda-4f94-bf0b-38fe5cab909e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693306.6827931} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.645322,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e4af0d60-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e4af0d60-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4af0d60-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling 200 8ms","method":"POST","requestID":"e4af0d60-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling"} device-1 | {"device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"69027387-564e-4e6d-b10a-8c3c14ce624e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"69027387-564e-4e6d-b10a-8c3c14ce624e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f915a34fd279247c1e0b984b09455763","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f915a34fd279247c1e0b984b09455763","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e"}}},"level":"info","message":"received a callback","requestID":"f915a34fd279247c1e0b984b09455763"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"f915a34fd279247c1e0b984b09455763","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"f915a34fd279247c1e0b984b09455763"} device-1 | {"content":{"candidate":"candidate:3961043160 1 udp 2113937151 22bf47ae-8243-419e-bf93-718c7982ba22.local 49825 typ host generation 0 ufrag P0ht network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1748357799 1 udp 1677729535 141.24.211.56 49825 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag P0ht network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:993553708 1 udp 33562623 141.24.210.113 64752 typ relay raddr 141.24.211.56 rport 49825 generation 0 ufrag P0ht network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c'"} device-1 | {"data":{"peerconnection":"69027387-564e-4e6d-b10a-8c3c14ce624e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"69027387-564e-4e6d-b10a-8c3c14ce624e","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"69027387-564e-4e6d-b10a-8c3c14ce624e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fe515b47e14d18e249dbe492da3c70cf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fe515b47e14d18e249dbe492da3c70cf","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e"}}},"level":"info","message":"received a callback","requestID":"fe515b47e14d18e249dbe492da3c70cf"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e5f289e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F69027387-564e-4e6d-b10a-8c3c14ce624e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e85415db-3830-4b04-b7ec-1303b7212e72","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693308.8043773} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.406854,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e5f289e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e5f289e0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e5f289e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e 200 12ms","method":"GET","requestID":"e5f289e0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"fe515b47e14d18e249dbe492da3c70cf","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"fe515b47e14d18e249dbe492da3c70cf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5f7e110-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c6b6bae-7662-4990-88c4-18cbd7900cf7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693308.8389142} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.761098,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e5f7e110-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e5f7e110-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5f7e110-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling 200 12ms","method":"POST","requestID":"e5f7e110-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e5fa2b00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44cebce7-73ba-4b3f-a967-1094ab9dedf6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693308.8539903} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.736668,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e5fa2b00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e5fa2b00-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e5fa2b00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling 200 12ms","method":"POST","requestID":"e5fa2b00-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOH0.nFRBAQADhxxOOFcFZ7oGx_DAZhbjb-NljQ3n4ssIvZA","level":"info","message":"auth send jwt","requestID":"f27eb2e7890666bb80c220125982e0b4"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f27eb2e7890666bb80c220125982e0b4","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652","requestID":"f27eb2e7890666bb80c220125982e0b4"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.139556,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f27eb2e7890666bb80c220125982e0b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693308,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOH0.nFRBAQADhxxOOFcFZ7oGx_DAZhbjb-NljQ3n4ssIvZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f27eb2e7890666bb80c220125982e0b4","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652","requestID":"f27eb2e7890666bb80c220125982e0b4"} gateway-1 | {"time_local":"04/Feb/2025:18:21:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f27eb2e7890666bb80c220125982e0b4"} experiment-1 | {"level":"info","message":"GET /experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652 200 15ms","method":"GET","requestID":"f27eb2e7890666bb80c220125982e0b4","responseTime":15,"status":200,"url":"/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOH0.nFRBAQADhxxOOFcFZ7oGx_DAZhbjb-NljQ3n4ssIvZA","level":"info","message":"auth send jwt","requestID":"c21988c7ef0248da1d7ea81d2486c918"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c21988c7ef0248da1d7ea81d2486c918","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652","requestID":"c21988c7ef0248da1d7ea81d2486c918"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.809443,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c21988c7ef0248da1d7ea81d2486c918","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693308,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOH0.nFRBAQADhxxOOFcFZ7oGx_DAZhbjb-NljQ3n4ssIvZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c21988c7ef0248da1d7ea81d2486c918","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Attempting to finish experiment","requestID":"c21988c7ef0248da1d7ea81d2486c918"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e6043d20-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.788944,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e6043d20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693308,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOH0.nFRBAQADhxxOOFcFZ7oGx_DAZhbjb-NljQ3n4ssIvZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e6043d20-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e","device":"3df09ff2-3bfe-4a03-87c4-2c659ea1752c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"26dacd3f-1480-4f29-b2e5-3c4888a1cd66","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"69027387-564e-4e6d-b10a-8c3c14ce624e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F69027387-564e-4e6d-b10a-8c3c14ce624e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F69027387-564e-4e6d-b10a-8c3c14ce624e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"f6302b97-ad9e-443e-8ccd-aaf4b012cf38","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693308.939074} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3b0365edc1e63f734d65135a5fa7aeea","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cff95dee-693c-415e-a601-0e8702fb4c24","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693308.9397168} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b0365edc1e63f734d65135a5fa7aeea","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e6043d20-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e"}}},"level":"info","message":"received a callback","requestID":"3b0365edc1e63f734d65135a5fa7aeea"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c33f615259e6e3d1a6e9c3ed7278b362","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c33f615259e6e3d1a6e9c3ed7278b362","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e"}}},"level":"info","message":"received a callback","requestID":"c33f615259e6e3d1a6e9c3ed7278b362"} device-1 | {"data":{"peerconnection":"69027387-564e-4e6d-b10a-8c3c14ce624e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e6043d20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e 204 64ms","method":"DELETE","requestID":"e6043d20-e324-11ef-a766-ff4094b4009c","responseTime":64,"status":204,"url":"/peerconnections/69027387-564e-4e6d-b10a-8c3c14ce624e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"},"level":"info","message":"Successfully finished experiment","requestID":"c21988c7ef0248da1d7ea81d2486c918"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e611f8c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26dacd3f-1480-4f29-b2e5-3c4888a1cd66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d70a086-f0a4-4379-b3bc-ed51aa9ddc9d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.0119085} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.465058,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e611f8c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"e611f8c0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e611f8c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling 200 16ms","method":"POST","requestID":"e611f8c0-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60d7d73a-bb5b-49e6-9f19-de6a75bd4652': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F60d7d73a-bb5b-49e6-9f19-de6a75bd4652","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"dcee702e-c67d-4b9d-ba1c-499fad56de3a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.0201175} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16b203dd-e635-47bb-b1bf-68647f7153a5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.0210676} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"c21988c7ef0248da1d7ea81d2486c918","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6152d10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3df09ff2-3bfe-4a03-87c4-2c659ea1752c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bb19810-ad52-4062-b311-64948547e597","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.0325716} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.80933,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e6152d10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e6152d10-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6152d10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling 200 12ms","method":"POST","requestID":"e6152d10-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652","requestID":"c21988c7ef0248da1d7ea81d2486c918"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c21988c7ef0248da1d7ea81d2486c918"} experiment-1 | {"level":"info","message":"DELETE /experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652 204 189ms","method":"DELETE","requestID":"c21988c7ef0248da1d7ea81d2486c918","responseTime":189,"status":204,"url":"/experiments/60d7d73a-bb5b-49e6-9f19-de6a75bd4652"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3231","request_time":"4.307","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"8a988d82e9b194ddc56029fc1e7c264d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"3b0365edc1e63f734d65135a5fa7aeea","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"3b0365edc1e63f734d65135a5fa7aeea"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"c33f615259e6e3d1a6e9c3ed7278b362","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"c33f615259e6e3d1a6e9c3ed7278b362"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2740","request_time":"2.788","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6ed6725a1fb854b89ef0b8a6d9dc6f6a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/26dacd3f-1480-4f29-b2e5-3c4888a1cd66' closed"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.071494,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3df09ff2-3bfe-4a03-87c4-2c659ea1752c' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f9720571-c642-4314-85a3-6c252b8102d7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.1167424} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"959c369f-8fa7-4514-89c8-c8bec17962eb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.1225176} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"36668897-5ccc-435c-b3b1-1abbacf0af7a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.1372519} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"208248a5-e4d6-4fbe-b9be-f277a34867a8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.1373665} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.137218591Z"}]},"request_id":"c7f9cb79-2363-4996-9545-5c739a3ae029","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.141829} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"f37ed75d9d28de8c6cf6b01fb5b790dc","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"4d9d651d4ec8429df53e2ee50af457d5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4d9d651d4ec8429df53e2ee50af457d5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4d9d651d4ec8429df53e2ee50af457d5"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.764763,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4d9d651d4ec8429df53e2ee50af457d5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4d9d651d4ec8429df53e2ee50af457d5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a6d72b8c-2024-4c06-b4da-422f38bcb5f2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.1680076} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4d9d651d4ec8429df53e2ee50af457d5","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e0f6be2-f1e6-4ae8-aa31-2580e37f150b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.172498} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4d9d651d4ec8429df53e2ee50af457d5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"c910ab9f-6167-44ec-85ec-730dfb8cd36c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.1808553} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9975de8-0c0b-489d-a917-aea8c04e34a0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.1809993} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"4d9d651d4ec8429df53e2ee50af457d5","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.180827330Z"}]},"request_id":"72f06620-c3f3-46a8-ae90-d0038c57b600","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.1851554} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4d9d651d4ec8429df53e2ee50af457d5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4d9d651d4ec8429df53e2ee50af457d5"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d9d651d4ec8429df53e2ee50af457d5"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"4d9d651d4ec8429df53e2ee50af457d5","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"6e95cd963f392ac8b9e94e408eed9617"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"6e95cd963f392ac8b9e94e408eed9617","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"de177efe9f721d74729685add2f6c502"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"de177efe9f721d74729685add2f6c502","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6e95cd963f392ac8b9e94e408eed9617"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"de177efe9f721d74729685add2f6c502"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.070924,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6e95cd963f392ac8b9e94e408eed9617","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6e95cd963f392ac8b9e94e408eed9617","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213353,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"de177efe9f721d74729685add2f6c502","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"de177efe9f721d74729685add2f6c502","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.180827330Z"}]},"request_id":"ea04f333-46a8-4b73-b771-719674d02641","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.6492105} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6e95cd963f392ac8b9e94e408eed9617","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.137218591Z"}]},"request_id":"2d23021a-68c6-48e1-8be8-b1629496cce0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.6501913} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"de177efe9f721d74729685add2f6c502","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5158aa29-2012-4cd6-827c-52c562e4032a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.65453} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6e95cd963f392ac8b9e94e408eed9617","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9738ccab-50e4-4045-9fc5-b7d8ef843c9a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.6560535} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"de177efe9f721d74729685add2f6c502","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.137218591Z"}]},"request_id":"21e6704e-2474-4535-ad9d-cb9360656a84","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.6599653} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"de177efe9f721d74729685add2f6c502","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"de177efe9f721d74729685add2f6c502"} device-1 | {"level":"info","message":"PATCH /devices/228bae9d-c305-4a91-af83-460665f8a01c 200 24ms","method":"PATCH","requestID":"de177efe9f721d74729685add2f6c502","responseTime":24,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/228bae9d-c305-4a91-af83-460665f8a01c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"de177efe9f721d74729685add2f6c502"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"1d1b53fee3c4d236141758f591c1e89f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d1b53fee3c4d236141758f591c1e89f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1d1b53fee3c4d236141758f591c1e89f"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.903864,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1d1b53fee3c4d236141758f591c1e89f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d1b53fee3c4d236141758f591c1e89f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.180827330Z"}]},"request_id":"7cd31f3a-45ce-4233-9341-409e50c80263","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.6825883} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6e95cd963f392ac8b9e94e408eed9617","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6e95cd963f392ac8b9e94e408eed9617"} device-1 | {"level":"info","message":"PATCH /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf 200 48ms","method":"PATCH","requestID":"6e95cd963f392ac8b9e94e408eed9617","responseTime":48,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"6e95cd963f392ac8b9e94e408eed9617"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"bd423a9185fb280b2486406653778a92"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd423a9185fb280b2486406653778a92","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bd423a9185fb280b2486406653778a92"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672699,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bd423a9185fb280b2486406653778a92","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bd423a9185fb280b2486406653778a92","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1d1b53fee3c4d236141758f591c1e89f"} device-1 | {"level":"info","message":"POST /devices/228bae9d-c305-4a91-af83-460665f8a01c/websocket 200 29ms","method":"POST","requestID":"1d1b53fee3c4d236141758f591c1e89f","responseTime":29,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/228bae9d-c305-4a91-af83-460665f8a01c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"1d1b53fee3c4d236141758f591c1e89f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bd423a9185fb280b2486406653778a92"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"bd423a9185fb280b2486406653778a92"} device-1 | {"level":"info","message":"POST /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/websocket 200 16ms","method":"POST","requestID":"bd423a9185fb280b2486406653778a92","responseTime":16,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"6766386742f0162a0ffddc21cb6056dc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6766386742f0162a0ffddc21cb6056dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6766386742f0162a0ffddc21cb6056dc"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815151,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6766386742f0162a0ffddc21cb6056dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6766386742f0162a0ffddc21cb6056dc","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.137218591Z"}]},"request_id":"98648a25-2552-4154-9c4e-38a16c53dd3b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.7361214} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6766386742f0162a0ffddc21cb6056dc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6766386742f0162a0ffddc21cb6056dc"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/228bae9d-c305-4a91-af83-460665f8a01c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6766386742f0162a0ffddc21cb6056dc"} device-1 | {"level":"info","message":"GET /devices/228bae9d-c305-4a91-af83-460665f8a01c? 200 15ms","method":"GET","requestID":"6766386742f0162a0ffddc21cb6056dc","responseTime":15,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"1ff5ce69eefc8585fb503d037e00b1c4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ff5ce69eefc8585fb503d037e00b1c4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1ff5ce69eefc8585fb503d037e00b1c4"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675209,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1ff5ce69eefc8585fb503d037e00b1c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1ff5ce69eefc8585fb503d037e00b1c4","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.180827330Z"}]},"request_id":"31ac3516-aa95-4869-af16-7871802a2aa8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.7595913} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1ff5ce69eefc8585fb503d037e00b1c4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1ff5ce69eefc8585fb503d037e00b1c4"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ff5ce69eefc8585fb503d037e00b1c4"} device-1 | {"level":"info","message":"GET /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf? 200 12ms","method":"GET","requestID":"1ff5ce69eefc8585fb503d037e00b1c4","responseTime":12,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"2cf609a8263aac54f295130abac4ec36"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2cf609a8263aac54f295130abac4ec36","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2cf609a8263aac54f295130abac4ec36"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.018942,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2cf609a8263aac54f295130abac4ec36","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2cf609a8263aac54f295130abac4ec36","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Attempting to run experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Attempting to book experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Successfully booked experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e68f3f10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e68f8d30-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.168702,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e68f3f10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e68f3f10-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.775164,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e68f8d30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e68f8d30-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.137218591Z"}]},"request_id":"717e4c94-86bc-4ce1-9c9d-3806960f9dc2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.8352437} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"e68f3f10-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.180827330Z"}]},"request_id":"02e7f955-a94e-495b-b809-0db7a5fa1853","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.8390374} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e68f8d30-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e68f3f10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/228bae9d-c305-4a91-af83-460665f8a01c? 200 21ms","method":"GET","requestID":"e68f3f10-e324-11ef-a766-ff4094b4009c","responseTime":21,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e68f8d30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf? 200 20ms","method":"GET","requestID":"e68f8d30-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Setting up experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Successfully set up experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e69afee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e69b4d00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e69b9b20-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Successfully running experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.710274,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e69afee0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e69afee0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.992373,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e69b4d00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e69b4d00-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.18213,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"615b7432-4faa-46fe-89df-af051e6d9731","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9135163} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e69b9b20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e69b9b20-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.180827330Z"}]},"request_id":"c0dd3209-521e-4525-a927-57496bd842bc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.918523} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e69b9b20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling 200 14ms","method":"POST","requestID":"e69b9b20-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e69b4d00-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.137218591Z"}]},"request_id":"e67bad3b-9e48-4bd5-a803-b25c099292c1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9197814} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e69afee0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e69e5a40-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14e8034e-17f1-4d32-8a20-5e9c1c7b06ee#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"55dae381-e655-4d9f-b291-8534d3ba70ef","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9247756} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d33d511f-88be-42a3-8e94-c3b94ebf9762","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9251387} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e69b4d00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf? 200 24ms","method":"GET","requestID":"e69b4d00-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e69afee0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"2cf609a8263aac54f295130abac4ec36","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} device-1 | {"level":"info","message":"GET /devices/228bae9d-c305-4a91-af83-460665f8a01c? 200 28ms","method":"GET","requestID":"e69afee0-e324-11ef-a766-ff4094b4009c","responseTime":28,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1e8a69b-824d-4aeb-81a3-7f18ad076f1c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9309535} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.409354,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e69e5a40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e69e5a40-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6a07d20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e69e5a40-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2cf609a8263aac54f295130abac4ec36"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} device-1 | {"level":"info","message":"POST /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling 200 19ms","method":"POST","requestID":"e69e5a40-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"2cf609a8263aac54f295130abac4ec36","responseTime":174,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4400af6-06a6-4291-a43d-208e3f1badf1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9458034} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.644477,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e6a07d20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e6a07d20-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"5cff8e8a70a1de5fd4533ea512fbce08"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5cff8e8a70a1de5fd4533ea512fbce08","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6a07d20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling 200 14ms","method":"POST","requestID":"e6a07d20-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5cff8e8a70a1de5fd4533ea512fbce08"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6a31530-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.42574,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5cff8e8a70a1de5fd4533ea512fbce08","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5cff8e8a70a1de5fd4533ea512fbce08","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75f55f93-372b-4cec-aa5e-0fda921c5fc6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9611073} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.467567,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e6a31530-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e6a31530-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.137218591Z"}]},"request_id":"c3ef83e1-4ae7-414b-be40-6425eb397c92","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.965539} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6a31530-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5cff8e8a70a1de5fd4533ea512fbce08","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling 200 11ms","method":"POST","requestID":"e6a31530-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Building connection plan","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"1dee8f52-d13f-41d4-aea7-71085d46f200"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"8d4db066-2c71-4600-9ecc-b0e72e10ace1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0b00e6e0-9c8b-4fa3-8b9c-b1fc9d49d6d7"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2cf609a8263aac54f295130abac4ec36"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2cf609a8263aac54f295130abac4ec36"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5cff8e8a70a1de5fd4533ea512fbce08"} device-1 | {"level":"info","message":"GET /devices/228bae9d-c305-4a91-af83-460665f8a01c? 200 20ms","method":"GET","requestID":"5cff8e8a70a1de5fd4533ea512fbce08","responseTime":20,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/228bae9d-c305-4a91-af83-460665f8a01c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5cff8e8a70a1de5fd4533ea512fbce08"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.895844,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY","level":"info","message":"auth send jwt","requestID":"4cba06a5cc0a9fabe86812f33da6c4cc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4cba06a5cc0a9fabe86812f33da6c4cc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4cba06a5cc0a9fabe86812f33da6c4cc"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.047908,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4cba06a5cc0a9fabe86812f33da6c4cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693309,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMwOX0.XgJjxGbW-Sw5PonskTEf2AbH5-mUNv6O5RV4QYxMftY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4cba06a5cc0a9fabe86812f33da6c4cc","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"a361979e-ea34-493d-b15f-15f1b18eb162","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9890735} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08d881f0-56ae-410e-bd46-2bb400b104ec","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9896643} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:49.180827330Z"}]},"request_id":"304649c9-6268-47d2-be70-9b34810ac196","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693309.9906282} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4cba06a5cc0a9fabe86812f33da6c4cc","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4cba06a5cc0a9fabe86812f33da6c4cc"} gateway-1 | {"time_local":"04/Feb/2025:18:21:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4cba06a5cc0a9fabe86812f33da6c4cc"} device-1 | {"level":"info","message":"GET /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf? 200 20ms","method":"GET","requestID":"4cba06a5cc0a9fabe86812f33da6c4cc","responseTime":20,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3'","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3'","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e6a55f20-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2cf609a8263aac54f295130abac4ec36"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6b14600-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:50Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd93341b-95ba-4a24-a4da-3076abda25b4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693310.0543487} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.830728,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e6b14600-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e6b14600-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6b14600-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling 200 12ms","method":"POST","requestID":"e6b14600-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6b38ff0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:50Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff3760a9-2bc6-48a0-a4b5-63eff7bbe133","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693310.0697055} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.759502,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e6b38ff0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e6b38ff0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e6b38ff0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling 200 12ms","method":"POST","requestID":"e6b38ff0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling"} device-1 | {"device":"228bae9d-c305-4a91-af83-460665f8a01c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"048697e0-a8db-498e-814c-e1f51e0a1de3","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"048697e0-a8db-498e-814c-e1f51e0a1de3","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"048697e0-a8db-498e-814c-e1f51e0a1de3","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"22040dde9e59f1e99f715d2e0fbe268a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"22040dde9e59f1e99f715d2e0fbe268a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3"}}},"level":"info","message":"received a callback","requestID":"22040dde9e59f1e99f715d2e0fbe268a"} device-1 | {"device":"228bae9d-c305-4a91-af83-460665f8a01c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"22040dde9e59f1e99f715d2e0fbe268a","responseTime":9,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"228bae9d-c305-4a91-af83-460665f8a01c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"228bae9d-c305-4a91-af83-460665f8a01c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"22040dde9e59f1e99f715d2e0fbe268a"} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"048697e0-a8db-498e-814c-e1f51e0a1de3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"228bae9d-c305-4a91-af83-460665f8a01c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"228bae9d-c305-4a91-af83-460665f8a01c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"048697e0-a8db-498e-814c-e1f51e0a1de3","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"048697e0-a8db-498e-814c-e1f51e0a1de3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f0aa791fa8cb54128988b2a399bdf360","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f0aa791fa8cb54128988b2a399bdf360","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3"}}},"level":"info","message":"received a callback","requestID":"f0aa791fa8cb54128988b2a399bdf360"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e7f314d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F048697e0-a8db-498e-814c-e1f51e0a1de3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62087dfd-cae1-4314-a7ec-c5585ace93ad","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.1634417} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.781032,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e7f314d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e7f314d0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e7f314d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3 200 12ms","method":"GET","requestID":"e7f314d0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"f0aa791fa8cb54128988b2a399bdf360","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0aa791fa8cb54128988b2a399bdf360"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7f89310-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b0c90bc-9653-41bf-a592-118bb6bb76f2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.200251} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.616893,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e7f89310-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e7f89310-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7f89310-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling 200 13ms","method":"POST","requestID":"e7f89310-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e7fb2b20-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f5f1f72-2dd2-4769-a488-b4541824e74c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.216849} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.671633,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e7fb2b20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e7fb2b20-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e7fb2b20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling 200 14ms","method":"POST","requestID":"e7fb2b20-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxMn0.RTBfxjVnH6cYvVVN7OUWe7oChb7gahH66CVW6Wfdagg","level":"info","message":"auth send jwt","requestID":"16128fd5e2d8e731666ee87ae5421e7c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"16128fd5e2d8e731666ee87ae5421e7c","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","requestID":"16128fd5e2d8e731666ee87ae5421e7c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.507961,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"16128fd5e2d8e731666ee87ae5421e7c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693312,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxMn0.RTBfxjVnH6cYvVVN7OUWe7oChb7gahH66CVW6Wfdagg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"16128fd5e2d8e731666ee87ae5421e7c","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","requestID":"16128fd5e2d8e731666ee87ae5421e7c"} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16128fd5e2d8e731666ee87ae5421e7c"} experiment-1 | {"level":"info","message":"GET /experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee 200 18ms","method":"GET","requestID":"16128fd5e2d8e731666ee87ae5421e7c","responseTime":18,"status":200,"url":"/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxMn0.RTBfxjVnH6cYvVVN7OUWe7oChb7gahH66CVW6Wfdagg","level":"info","message":"auth send jwt","requestID":"97a0eede340e954ace55b1a20bca0437"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"97a0eede340e954ace55b1a20bca0437","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","requestID":"97a0eede340e954ace55b1a20bca0437"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.2591,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"97a0eede340e954ace55b1a20bca0437","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693312,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxMn0.RTBfxjVnH6cYvVVN7OUWe7oChb7gahH66CVW6Wfdagg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"97a0eede340e954ace55b1a20bca0437","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Attempting to finish experiment","requestID":"97a0eede340e954ace55b1a20bca0437"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e8069cd0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.192706,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e8069cd0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693312,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxMn0.RTBfxjVnH6cYvVVN7OUWe7oChb7gahH66CVW6Wfdagg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8069cd0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0f4040d1-04e0-4e23-80e5-d506a1f53faf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"228bae9d-c305-4a91-af83-460665f8a01c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"228bae9d-c305-4a91-af83-460665f8a01c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"228bae9d-c305-4a91-af83-460665f8a01c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"048697e0-a8db-498e-814c-e1f51e0a1de3","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F048697e0-a8db-498e-814c-e1f51e0a1de3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F048697e0-a8db-498e-814c-e1f51e0a1de3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"dba77c0a-f817-46ba-b4c0-aefd701db871","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.3101878} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0abae73f-2c16-4393-9ece-a6dbf80e0716","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.3110952} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"e8069cd0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c6d83913195f35543a53f21a34b735fe","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c6d83913195f35543a53f21a34b735fe","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"64dd162ab457e94905b647a8eee58986","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3"}}},"level":"info","message":"received a callback","requestID":"c6d83913195f35543a53f21a34b735fe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"64dd162ab457e94905b647a8eee58986","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3"}}},"level":"info","message":"received a callback","requestID":"64dd162ab457e94905b647a8eee58986"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e8069cd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3 204 56ms","method":"DELETE","requestID":"e8069cd0-e324-11ef-a766-ff4094b4009c","responseTime":56,"status":204,"url":"/peerconnections/048697e0-a8db-498e-814c-e1f51e0a1de3"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"},"level":"info","message":"Successfully finished experiment","requestID":"97a0eede340e954ace55b1a20bca0437"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8134700-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f4040d1-04e0-4e23-80e5-d506a1f53faf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56c40c06-42cd-444b-99c9-108c14320f8d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.376696} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.44938,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e8134700-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"e8134700-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14e8034e-17f1-4d32-8a20-5e9c1c7b06ee': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"c402edb4-0d24-47eb-93da-92682cb69651","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.3844113} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8134700-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling 200 17ms","method":"POST","requestID":"e8134700-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b50d838-54f5-4db7-b53f-4ef02e665491","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.3851376} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"97a0eede340e954ace55b1a20bca0437","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8167b50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F228bae9d-c305-4a91-af83-460665f8a01c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56d00f85-535d-462e-b6d9-7966f73921d1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.3963418} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.287596,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e8167b50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e8167b50-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8167b50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling 200 16ms","method":"POST","requestID":"e8167b50-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/228bae9d-c305-4a91-af83-460665f8a01c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee","requestID":"97a0eede340e954ace55b1a20bca0437"} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97a0eede340e954ace55b1a20bca0437"} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.758","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"e3e0b186767516e6663a5272d9063883"} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.749","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"4fc0f43d3ba38daa8221097fab4d0be7"} experiment-1 | {"level":"info","message":"DELETE /experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee 204 188ms","method":"DELETE","requestID":"97a0eede340e954ace55b1a20bca0437","responseTime":188,"status":204,"url":"/experiments/14e8034e-17f1-4d32-8a20-5e9c1c7b06ee"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"c6d83913195f35543a53f21a34b735fe","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6d83913195f35543a53f21a34b735fe"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"64dd162ab457e94905b647a8eee58986","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"64dd162ab457e94905b647a8eee58986"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0f4040d1-04e0-4e23-80e5-d506a1f53faf' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxMn0.RTBfxjVnH6cYvVVN7OUWe7oChb7gahH66CVW6Wfdagg","level":"info","message":"auth send jwt","requestID":"84d6e34cd0b2adbf1514a500542b9596"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"84d6e34cd0b2adbf1514a500542b9596","responseTime":12,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"84d6e34cd0b2adbf1514a500542b9596"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/228bae9d-c305-4a91-af83-460665f8a01c' closed"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.745999,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"84d6e34cd0b2adbf1514a500542b9596","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693312,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxMn0.RTBfxjVnH6cYvVVN7OUWe7oChb7gahH66CVW6Wfdagg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"84d6e34cd0b2adbf1514a500542b9596","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f374aad9-f7e7-46e7-80ff-2bbb0c7553d8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.4892938} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"84d6e34cd0b2adbf1514a500542b9596","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e400068a-025e-4491-bc01-89fe5143a3be","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.4950542} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"84d6e34cd0b2adbf1514a500542b9596","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"f12f2da4-f8db-4316-923d-857e43740e60","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.5082278} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c94732e8-3d54-4e82-bc1a-04ec927e9926","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.508503} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"84d6e34cd0b2adbf1514a500542b9596","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.508199855Z"}]},"request_id":"50a9855e-0244-49da-bd76-3fbb89426929","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.5131733} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"84d6e34cd0b2adbf1514a500542b9596","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"84d6e34cd0b2adbf1514a500542b9596"} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84d6e34cd0b2adbf1514a500542b9596"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"84d6e34cd0b2adbf1514a500542b9596","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxMn0.RTBfxjVnH6cYvVVN7OUWe7oChb7gahH66CVW6Wfdagg","level":"info","message":"auth send jwt","requestID":"8acb7785c5bc52c8921300c1e469e658"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8acb7785c5bc52c8921300c1e469e658","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8acb7785c5bc52c8921300c1e469e658"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.894089,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8acb7785c5bc52c8921300c1e469e658","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693312,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxMn0.RTBfxjVnH6cYvVVN7OUWe7oChb7gahH66CVW6Wfdagg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8acb7785c5bc52c8921300c1e469e658","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"432c4dc3-1684-4fed-8a9c-fec445b12c72","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.541299} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8acb7785c5bc52c8921300c1e469e658","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"695118ff-be37-4efa-9057-587479e8d0ae","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.5529664} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8acb7785c5bc52c8921300c1e469e658","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"d3d3ffd5-8508-4fb0-ab95-5c6299a25e3d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.5636137} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f19a268b-d7b3-457d-a181-c3c0471c84e8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.5637186} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"8acb7785c5bc52c8921300c1e469e658","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.563582944Z"}]},"request_id":"8caf7f48-7e82-411a-81f4-06960e070579","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693312.5684998} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8acb7785c5bc52c8921300c1e469e658","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8acb7785c5bc52c8921300c1e469e658"} gateway-1 | {"time_local":"04/Feb/2025:18:21:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8acb7785c5bc52c8921300c1e469e658"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"8acb7785c5bc52c8921300c1e469e658","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw","level":"info","message":"auth send jwt","requestID":"45f576886b5c6c166c76e12f1eecf251"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"45f576886b5c6c166c76e12f1eecf251","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw","level":"info","message":"auth send jwt","requestID":"63a667be119cf8ea7589388936f37184"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"63a667be119cf8ea7589388936f37184","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"45f576886b5c6c166c76e12f1eecf251"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"63a667be119cf8ea7589388936f37184"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90737,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"45f576886b5c6c166c76e12f1eecf251","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"45f576886b5c6c166c76e12f1eecf251","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.539179,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"63a667be119cf8ea7589388936f37184","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"63a667be119cf8ea7589388936f37184","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.508199855Z"}]},"request_id":"1e647b26-7f26-4c0e-9d75-825fe27baca8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.0306718} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"45f576886b5c6c166c76e12f1eecf251","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.563582944Z"}]},"request_id":"713b9eb4-d2a7-401e-9a57-6241cebce1c8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.0316064} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"63a667be119cf8ea7589388936f37184","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36e8d45a-1f99-47e5-b5bf-048b929ad8fb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.0374072} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"45f576886b5c6c166c76e12f1eecf251","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6fa81ebe-aa0f-4407-9a9d-508472eef2b3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.0394642} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"63a667be119cf8ea7589388936f37184","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.563582944Z"}]},"request_id":"c024be08-23a2-4168-a785-7703e66b7b5f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.0424812} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"63a667be119cf8ea7589388936f37184","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"63a667be119cf8ea7589388936f37184"} device-1 | {"level":"info","message":"PATCH /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1 200 24ms","method":"PATCH","requestID":"63a667be119cf8ea7589388936f37184","responseTime":24,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1"} gateway-1 | {"time_local":"04/Feb/2025:18:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"63a667be119cf8ea7589388936f37184"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw","level":"info","message":"auth send jwt","requestID":"7cc43898bac5325da32d13437578e67a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7cc43898bac5325da32d13437578e67a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7cc43898bac5325da32d13437578e67a"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63969,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"7cc43898bac5325da32d13437578e67a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7cc43898bac5325da32d13437578e67a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.508199855Z"}]},"request_id":"a0263382-2e35-45c5-a82e-757fa7ca9f65","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.0619168} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"45f576886b5c6c166c76e12f1eecf251","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"45f576886b5c6c166c76e12f1eecf251"} gateway-1 | {"time_local":"04/Feb/2025:18:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"45f576886b5c6c166c76e12f1eecf251"} device-1 | {"level":"info","message":"PATCH /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f 200 46ms","method":"PATCH","requestID":"45f576886b5c6c166c76e12f1eecf251","responseTime":46,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw","level":"info","message":"auth send jwt","requestID":"2c75b6e6a769a7db35972f787b6a9080"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c75b6e6a769a7db35972f787b6a9080","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2c75b6e6a769a7db35972f787b6a9080"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7cc43898bac5325da32d13437578e67a"} gateway-1 | {"time_local":"04/Feb/2025:18:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"7cc43898bac5325da32d13437578e67a"} device-1 | {"level":"info","message":"POST /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/websocket 200 21ms","method":"POST","requestID":"7cc43898bac5325da32d13437578e67a","responseTime":21,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69096,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2c75b6e6a769a7db35972f787b6a9080","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2c75b6e6a769a7db35972f787b6a9080","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2c75b6e6a769a7db35972f787b6a9080"} gateway-1 | {"time_local":"04/Feb/2025:18:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"2c75b6e6a769a7db35972f787b6a9080"} device-1 | {"level":"info","message":"POST /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/websocket 200 14ms","method":"POST","requestID":"2c75b6e6a769a7db35972f787b6a9080","responseTime":14,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw","level":"info","message":"auth send jwt","requestID":"19069768ac4d7a474af788664f3a0e2b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"19069768ac4d7a474af788664f3a0e2b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"19069768ac4d7a474af788664f3a0e2b"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.781727,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"19069768ac4d7a474af788664f3a0e2b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"19069768ac4d7a474af788664f3a0e2b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.508199855Z"}]},"request_id":"6670925b-1f22-4af5-9590-530aeaed7c14","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.1111941} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"19069768ac4d7a474af788664f3a0e2b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"19069768ac4d7a474af788664f3a0e2b"} device-1 | {"level":"info","message":"GET /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f? 200 12ms","method":"GET","requestID":"19069768ac4d7a474af788664f3a0e2b","responseTime":12,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19069768ac4d7a474af788664f3a0e2b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw","level":"info","message":"auth send jwt","requestID":"2f0e66714ba8cca916e078f83b9768a5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2f0e66714ba8cca916e078f83b9768a5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2f0e66714ba8cca916e078f83b9768a5"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611805,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2f0e66714ba8cca916e078f83b9768a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2f0e66714ba8cca916e078f83b9768a5","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.563582944Z"}]},"request_id":"65a8df30-0729-4a02-9090-ba468353a936","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.1271954} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2f0e66714ba8cca916e078f83b9768a5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2f0e66714ba8cca916e078f83b9768a5"} gateway-1 | {"time_local":"04/Feb/2025:18:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f0e66714ba8cca916e078f83b9768a5"} device-1 | {"level":"info","message":"GET /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1? 200 12ms","method":"GET","requestID":"2f0e66714ba8cca916e078f83b9768a5","responseTime":12,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw","level":"info","message":"auth send jwt","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.798971,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c4faf77ef22fb697cb0b0ef29aff15b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Attempting to run experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Attempting to book experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Successfully booked experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e88cbcc0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e88ce3d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.606081,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e88cbcc0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e88cbcc0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.810293,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e88ce3d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e88ce3d0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.508199855Z"}]},"request_id":"1899ae2a-a7f8-49e4-b0ef-fd1d48ae82a4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.173578} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e88cbcc0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.563582944Z"}]},"request_id":"16d33d5d-a07d-476a-a428-116845e62ea6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.175308} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e88ce3d0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e88cbcc0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f? 200 16ms","method":"GET","requestID":"e88cbcc0-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e88ce3d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1? 200 16ms","method":"GET","requestID":"e88ce3d0-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Setting up experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Successfully set up experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e8979230-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e897e050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8982e70-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Successfully running experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.08051,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e8979230-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8979230-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109085,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e897e050-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e897e050-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c5821c5-c558-4c7b-93ca-40aa628c7c41","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.2477896} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.798506,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e8982e70-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"e8982e70-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.508199855Z"}]},"request_id":"c739f516-0c9f-4616-9c92-50c96d42f436","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.2508118} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.563582944Z"}]},"request_id":"0c247e45-d6ac-41ff-b55e-bd5885952b00","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.2529552} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"e8979230-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"e897e050-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1de73603-1124-41f5-9b79-b625326422c3#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1de73603-1124-41f5-9b79-b625326422c3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"48bf6009-79a1-4ded-b179-ba1a3dd7f493","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.2601209} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18afebd0-d14c-4cfe-b0f2-71767e4dbf01","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.260458} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e8979230-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f? 200 28ms","method":"GET","requestID":"e8979230-e324-11ef-a766-ff4094b4009c","responseTime":28,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8982e70-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling 200 25ms","method":"POST","requestID":"e8982e70-e324-11ef-a766-ff4094b4009c","responseTime":25,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e897e050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1? 200 33ms","method":"GET","requestID":"e897e050-e324-11ef-a766-ff4094b4009c","responseTime":33,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e89d1070-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e89dd3c0-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91d124bb-908e-4295-b842-94ffbff11f82","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.2774801} gateway-1 | {"time_local":"04/Feb/2025:18:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.72273,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 142ms","method":"POST","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5","responseTime":142,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e89d1070-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e89d1070-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e89d1070-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling 200 12ms","method":"POST","requestID":"e89d1070-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw","level":"info","message":"auth send jwt","requestID":"2a900e88698be3a7764a4cceacab3883"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02b51e25-7da3-473b-b994-0dc7df808a6a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.284041} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2a900e88698be3a7764a4cceacab3883","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.51051,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2a900e88698be3a7764a4cceacab3883"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e89dd3c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e89dd3c0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044854,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e89dd3c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling 200 14ms","method":"POST","requestID":"e89dd3c0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2a900e88698be3a7764a4cceacab3883","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2a900e88698be3a7764a4cceacab3883","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8a06bd0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.508199855Z"}]},"request_id":"18651443-e2a4-4380-8242-b9689871e0bb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.2952664} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2a900e88698be3a7764a4cceacab3883","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f87cef0-a9e5-4a5f-a2e3-09b38282a3b9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.2994518} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.690043,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2a900e88698be3a7764a4cceacab3883"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e8a06bd0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"04/Feb/2025:18:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a900e88698be3a7764a4cceacab3883"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e8a06bd0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f? 200 17ms","method":"GET","requestID":"2a900e88698be3a7764a4cceacab3883","responseTime":17,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8a06bd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling 200 12ms","method":"POST","requestID":"e8a06bd0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Building connection plan","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"90da64f4-55e4-45b1-b651-66b96f122902"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"02fc532f-6b13-4e43-a66d-4298772c2861"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"59c3e9f2-9708-4bca-9d18-a2d44e4a3f7c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw","level":"info","message":"auth send jwt","requestID":"bc0e56857d4c21a79ae5332de7e45856"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bc0e56857d4c21a79ae5332de7e45856","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc0e56857d4c21a79ae5332de7e45856"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.909772,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.337488,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bc0e56857d4c21a79ae5332de7e45856","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693313,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxM30.72i_dygUQdPrMyTx5Y_zORIneqe6DPq8Bj8RkwTTlNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bc0e56857d4c21a79ae5332de7e45856","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:52.563582944Z"}]},"request_id":"765b96d6-59a6-4462-839a-e8a4236c0b03","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.32297} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bc0e56857d4c21a79ae5332de7e45856","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc0e56857d4c21a79ae5332de7e45856"} gateway-1 | {"time_local":"04/Feb/2025:18:21:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc0e56857d4c21a79ae5332de7e45856"} device-1 | {"level":"info","message":"GET /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1? 200 15ms","method":"GET","requestID":"bc0e56857d4c21a79ae5332de7e45856","responseTime":15,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"6b947c94-c43e-4681-bd5c-8d4b6cd0add4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.3279865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1184809-65d5-421a-a1c3-a45473ae390f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.3285537} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd'","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd'","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e8a2dcd0-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c4faf77ef22fb697cb0b0ef29aff15b5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8ac52b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44c5a792-b8a5-4d4d-9717-39c44bb7375f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.376609} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.126197,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e8ac52b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8ac52b0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8ac52b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling 200 10ms","method":"POST","requestID":"e8ac52b0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e8ae2770-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"908c4d05-3be1-4d48-9222-3d7adb3522cd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693313.387497} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.954465,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e8ae2770-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e8ae2770-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e8ae2770-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling 200 9ms","method":"POST","requestID":"e8ae2770-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling"} device-1 | {"device":"bdbfacd2-1582-4a60-80e9-8875a446cef1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"129d06da-ec61-4c28-abe1-5db57d7efabd","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"129d06da-ec61-4c28-abe1-5db57d7efabd","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"129d06da-ec61-4c28-abe1-5db57d7efabd","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2f05090a316f18c20a22512a75c5668b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2f05090a316f18c20a22512a75c5668b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd"}}},"level":"info","message":"received a callback","requestID":"2f05090a316f18c20a22512a75c5668b"} device-1 | {"device":"bdbfacd2-1582-4a60-80e9-8875a446cef1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bdbfacd2-1582-4a60-80e9-8875a446cef1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bdbfacd2-1582-4a60-80e9-8875a446cef1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"2f05090a316f18c20a22512a75c5668b","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"2f05090a316f18c20a22512a75c5668b"} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"129d06da-ec61-4c28-abe1-5db57d7efabd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bdbfacd2-1582-4a60-80e9-8875a446cef1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bdbfacd2-1582-4a60-80e9-8875a446cef1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"129d06da-ec61-4c28-abe1-5db57d7efabd","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"129d06da-ec61-4c28-abe1-5db57d7efabd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ebdf5b1d50806a03f08ebcd5cb9701ec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ebdf5b1d50806a03f08ebcd5cb9701ec","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd"}}},"level":"info","message":"received a callback","requestID":"ebdf5b1d50806a03f08ebcd5cb9701ec"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e9eb3b50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F129d06da-ec61-4c28-abe1-5db57d7efabd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bf5a3c7-0709-4941-b80c-3f93d0c46e7a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.4674048} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.314128,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9eb3b50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e9eb3b50-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e9eb3b50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd 200 11ms","method":"GET","requestID":"e9eb3b50-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"ebdf5b1d50806a03f08ebcd5cb9701ec","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"ebdf5b1d50806a03f08ebcd5cb9701ec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e9efcf30-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46832a0f-b758-46cd-82cf-16f71845964d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.4970567} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.490008,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9efcf30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e9efcf30-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e9efcf30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling 200 12ms","method":"POST","requestID":"e9efcf30-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e9f1f210-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45a6de3e-b482-4769-9f3f-9988dc58cdd8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.5119352} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.986492,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9f1f210-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e9f1f210-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e9f1f210-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling 200 14ms","method":"POST","requestID":"e9f1f210-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxNX0.yGjbbC_8zxk8vQcLo4cFy4Lhj4E1MIlvkVljmlAqT-E","level":"info","message":"auth send jwt","requestID":"ed0142c509d800e403a3a5310ee6e4b2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ed0142c509d800e403a3a5310ee6e4b2","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1de73603-1124-41f5-9b79-b625326422c3","requestID":"ed0142c509d800e403a3a5310ee6e4b2"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.170177,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed0142c509d800e403a3a5310ee6e4b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693315,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxNX0.yGjbbC_8zxk8vQcLo4cFy4Lhj4E1MIlvkVljmlAqT-E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed0142c509d800e403a3a5310ee6e4b2","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1de73603-1124-41f5-9b79-b625326422c3","requestID":"ed0142c509d800e403a3a5310ee6e4b2"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1de73603-1124-41f5-9b79-b625326422c3 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed0142c509d800e403a3a5310ee6e4b2"} experiment-1 | {"level":"info","message":"GET /experiments/1de73603-1124-41f5-9b79-b625326422c3 200 12ms","method":"GET","requestID":"ed0142c509d800e403a3a5310ee6e4b2","responseTime":12,"status":200,"url":"/experiments/1de73603-1124-41f5-9b79-b625326422c3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxNX0.yGjbbC_8zxk8vQcLo4cFy4Lhj4E1MIlvkVljmlAqT-E","level":"info","message":"auth send jwt","requestID":"1bcc73c7d87d61356a9907f1af5224a5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1bcc73c7d87d61356a9907f1af5224a5","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1de73603-1124-41f5-9b79-b625326422c3","requestID":"1bcc73c7d87d61356a9907f1af5224a5"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.172611,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1bcc73c7d87d61356a9907f1af5224a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693315,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxNX0.yGjbbC_8zxk8vQcLo4cFy4Lhj4E1MIlvkVljmlAqT-E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1bcc73c7d87d61356a9907f1af5224a5","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Attempting to finish experiment","requestID":"1bcc73c7d87d61356a9907f1af5224a5"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e9fdd8f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.177365,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9fdd8f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693315,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxNX0.yGjbbC_8zxk8vQcLo4cFy4Lhj4E1MIlvkVljmlAqT-E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e9fdd8f0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"bdbfacd2-1582-4a60-80e9-8875a446cef1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bdbfacd2-1582-4a60-80e9-8875a446cef1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"bdbfacd2-1582-4a60-80e9-8875a446cef1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6b1fec05-ef06-4128-b3d5-d0eef35fb88f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"129d06da-ec61-4c28-abe1-5db57d7efabd","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1e1e10dae1de1c03b0749e660a86d1de","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1e1e10dae1de1c03b0749e660a86d1de","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F129d06da-ec61-4c28-abe1-5db57d7efabd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F129d06da-ec61-4c28-abe1-5db57d7efabd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"a48eeb42-9838-4ff7-91d1-bc1490286302","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.6136189} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"071a503625ed329eac0c44d934add385","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd"}}},"level":"info","message":"received a callback","requestID":"1e1e10dae1de1c03b0749e660a86d1de"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"071a503625ed329eac0c44d934add385","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e05aea7-17ba-439d-8be7-abdd57396e63","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.6141398} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd"}}},"level":"info","message":"received a callback","requestID":"071a503625ed329eac0c44d934add385"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"e9fdd8f0-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"129d06da-ec61-4c28-abe1-5db57d7efabd","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e9fdd8f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd 204 55ms","method":"DELETE","requestID":"e9fdd8f0-e324-11ef-a766-ff4094b4009c","responseTime":55,"status":204,"url":"/peerconnections/129d06da-ec61-4c28-abe1-5db57d7efabd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1de73603-1124-41f5-9b79-b625326422c3"},"level":"info","message":"Successfully finished experiment","requestID":"1bcc73c7d87d61356a9907f1af5224a5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea0a3500-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1fec05-ef06-4128-b3d5-d0eef35fb88f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b403f63-c00c-4602-a27d-61d49b6494c9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.6720948} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.032729,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ea0a3500-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"ea0a3500-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea0a3500-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling 200 16ms","method":"POST","requestID":"ea0a3500-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1de73603-1124-41f5-9b79-b625326422c3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1de73603-1124-41f5-9b79-b625326422c3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"d47c73a8-cd4a-49f8-bcc1-fb21f6b478c8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.6816828} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"468ce87f-117d-46f9-ae90-de60a4976132","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.6822567} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ea0d4240-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"1bcc73c7d87d61356a9907f1af5224a5","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbdbfacd2-1582-4a60-80e9-8875a446cef1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53cbecf6-50f5-41a9-8efc-f85054576a24","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.690999} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.145044,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ea0d4240-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ea0d4240-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ea0d4240-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling 200 13ms","method":"POST","requestID":"ea0d4240-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1de73603-1124-41f5-9b79-b625326422c3","requestID":"1bcc73c7d87d61356a9907f1af5224a5"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1de73603-1124-41f5-9b79-b625326422c3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bcc73c7d87d61356a9907f1af5224a5"} experiment-1 | {"level":"info","message":"DELETE /experiments/1de73603-1124-41f5-9b79-b625326422c3 204 173ms","method":"DELETE","requestID":"1bcc73c7d87d61356a9907f1af5224a5","responseTime":173,"status":204,"url":"/experiments/1de73603-1124-41f5-9b79-b625326422c3"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.667","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"989d931883c9e6e1db72152ca652e584"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.655","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"e46f398a6a71d92f626a283d4de2c134"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e1e10dae1de1c03b0749e660a86d1de"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"1e1e10dae1de1c03b0749e660a86d1de","responseTime":128,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"071a503625ed329eac0c44d934add385","responseTime":129,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxNX0.yGjbbC_8zxk8vQcLo4cFy4Lhj4E1MIlvkVljmlAqT-E","level":"info","message":"auth send jwt","requestID":"efffeb599b5dbc13166fd9176f244464"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"071a503625ed329eac0c44d934add385"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"efffeb599b5dbc13166fd9176f244464","responseTime":4,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bdbfacd2-1582-4a60-80e9-8875a446cef1' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"efffeb599b5dbc13166fd9176f244464"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.446284,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"efffeb599b5dbc13166fd9176f244464","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693315,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxNX0.yGjbbC_8zxk8vQcLo4cFy4Lhj4E1MIlvkVljmlAqT-E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"efffeb599b5dbc13166fd9176f244464","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6b1fec05-ef06-4128-b3d5-d0eef35fb88f' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"74c81dc4-1a01-456d-b3cc-a1d5d5cd2d15","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.7698343} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"efffeb599b5dbc13166fd9176f244464","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9959fbe1-d556-4382-a5e6-3224af2af04f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.7768173} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"efffeb599b5dbc13166fd9176f244464","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"5e5fee60-dd32-4646-99af-b60f134a097e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.7910135} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"369538b4-13f5-41f6-a38c-f4e5ad7ff59e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.7912753} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"efffeb599b5dbc13166fd9176f244464","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.790983967Z"}]},"request_id":"b507e170-6da4-41d0-8c6e-b778db78e656","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.7965472} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"efffeb599b5dbc13166fd9176f244464","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"efffeb599b5dbc13166fd9176f244464"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"efffeb599b5dbc13166fd9176f244464"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"efffeb599b5dbc13166fd9176f244464","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxNX0.yGjbbC_8zxk8vQcLo4cFy4Lhj4E1MIlvkVljmlAqT-E","level":"info","message":"auth send jwt","requestID":"1395e8bda666238daeea653134006ca0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1395e8bda666238daeea653134006ca0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1395e8bda666238daeea653134006ca0"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.83626,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1395e8bda666238daeea653134006ca0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693315,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxNX0.yGjbbC_8zxk8vQcLo4cFy4Lhj4E1MIlvkVljmlAqT-E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1395e8bda666238daeea653134006ca0","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"032da59d-3baf-45ad-ab80-6cf38858367d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.8240721} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1395e8bda666238daeea653134006ca0","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab305350-ae91-4013-a24c-040f50534131","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.8297453} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1395e8bda666238daeea653134006ca0","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"5c335903-e365-4dc5-84cd-c91aff3770e0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.8399844} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fc82fb7-3437-495e-b85e-555d117ddaeb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.840108} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"1395e8bda666238daeea653134006ca0","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.839955343Z"}]},"request_id":"0ca6af8b-4c6d-4d91-8802-4872bf641cd9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693315.8447886} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1395e8bda666238daeea653134006ca0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1395e8bda666238daeea653134006ca0"} gateway-1 | {"time_local":"04/Feb/2025:18:21:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1395e8bda666238daeea653134006ca0"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"1395e8bda666238daeea653134006ca0","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"817a36c36741a51cb65f57a8027b3a25","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"817a36c36741a51cb65f57a8027b3a25","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8774deaf-9401-45de-96e4-6b678379d914/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"817a36c36741a51cb65f57a8027b3a25"} device-1 | {"level":"info","message":"OPTIONS /devices/8774deaf-9401-45de-96e4-6b678379d914/websocket 200 1ms","method":"OPTIONS","requestID":"817a36c36741a51cb65f57a8027b3a25","responseTime":1,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9609cea10c03599e85d514c2a0cd4a27","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9609cea10c03599e85d514c2a0cd4a27","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9609cea10c03599e85d514c2a0cd4a27"} device-1 | {"level":"info","message":"OPTIONS /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/websocket 200 1ms","method":"OPTIONS","requestID":"9609cea10c03599e85d514c2a0cd4a27","responseTime":1,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc","level":"info","message":"auth send jwt","requestID":"97d1f3530ffcc3f98e0bc2f9633dd50f"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"97d1f3530ffcc3f98e0bc2f9633dd50f","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"97d1f3530ffcc3f98e0bc2f9633dd50f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc","level":"info","message":"auth send jwt","requestID":"836fa509b3f5c2ed1b552d1820a9a520"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"836fa509b3f5c2ed1b552d1820a9a520","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:57Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"836fa509b3f5c2ed1b552d1820a9a520"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965189,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"97d1f3530ffcc3f98e0bc2f9633dd50f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97d1f3530ffcc3f98e0bc2f9633dd50f","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.262766,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"836fa509b3f5c2ed1b552d1820a9a520","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"836fa509b3f5c2ed1b552d1820a9a520","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"97d1f3530ffcc3f98e0bc2f9633dd50f"} gateway-1 | {"time_local":"04/Feb/2025:18:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8774deaf-9401-45de-96e4-6b678379d914/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"97d1f3530ffcc3f98e0bc2f9633dd50f"} device-1 | {"level":"info","message":"POST /devices/8774deaf-9401-45de-96e4-6b678379d914/websocket 200 22ms","method":"POST","requestID":"97d1f3530ffcc3f98e0bc2f9633dd50f","responseTime":22,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"836fa509b3f5c2ed1b552d1820a9a520"} gateway-1 | {"time_local":"04/Feb/2025:18:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"836fa509b3f5c2ed1b552d1820a9a520"} device-1 | {"level":"info","message":"POST /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/websocket 200 29ms","method":"POST","requestID":"836fa509b3f5c2ed1b552d1820a9a520","responseTime":29,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc","level":"info","message":"auth send jwt","requestID":"3abde87cdad49f54f0bc87a6e4c20495"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3abde87cdad49f54f0bc87a6e4c20495","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3abde87cdad49f54f0bc87a6e4c20495"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166246,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3abde87cdad49f54f0bc87a6e4c20495","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3abde87cdad49f54f0bc87a6e4c20495","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.790983967Z"}]},"request_id":"430a0e40-a249-4609-bc6a-9da1397f4d1e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693317.899868} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3abde87cdad49f54f0bc87a6e4c20495","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3abde87cdad49f54f0bc87a6e4c20495"} gateway-1 | {"time_local":"04/Feb/2025:18:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3abde87cdad49f54f0bc87a6e4c20495"} device-1 | {"level":"info","message":"GET /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42? 200 15ms","method":"GET","requestID":"3abde87cdad49f54f0bc87a6e4c20495","responseTime":15,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc","level":"info","message":"auth send jwt","requestID":"fc3994f04c34c3d4e38ec92838ce7884"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fc3994f04c34c3d4e38ec92838ce7884","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc3994f04c34c3d4e38ec92838ce7884"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.237335,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fc3994f04c34c3d4e38ec92838ce7884","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fc3994f04c34c3d4e38ec92838ce7884","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.839955343Z"}]},"request_id":"7db7ba68-2392-47d1-8274-345e48a5e948","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693317.9222882} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fc3994f04c34c3d4e38ec92838ce7884","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc3994f04c34c3d4e38ec92838ce7884"} device-1 | {"level":"info","message":"GET /devices/8774deaf-9401-45de-96e4-6b678379d914? 200 17ms","method":"GET","requestID":"fc3994f04c34c3d4e38ec92838ce7884","responseTime":17,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8774deaf-9401-45de-96e4-6b678379d914? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc3994f04c34c3d4e38ec92838ce7884"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc","level":"info","message":"auth send jwt","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.709499,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe4705f45cb9b0a52c4a4d1542e3723e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Attempting to run experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Attempting to book experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Successfully booked experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb6d2060-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb6d6e80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206021,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb6d2060-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb6d2060-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699735,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb6d6e80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb6d6e80-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.790983967Z"}]},"request_id":"1393e8a5-7769-4e1a-9385-5971b4faac18","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.0028036} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"eb6d2060-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.839955343Z"}]},"request_id":"4f7fe0e0-8538-4002-9963-72de76727e82","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.004602} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"eb6d6e80-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb6d2060-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42? 200 23ms","method":"GET","requestID":"eb6d2060-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb6d6e80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/8774deaf-9401-45de-96e4-6b678379d914? 200 23ms","method":"GET","requestID":"eb6d6e80-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Setting up experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Successfully set up experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb78b920-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb790740-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Successfully running experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb797c70-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.229726,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb78b920-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb78b920-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.219347,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb790740-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"eb790740-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"928eaae8-9b8b-48d5-a9af-e77ac8bc6ffb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.0792086} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.121795,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb797c70-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"eb797c70-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.790983967Z"}]},"request_id":"710ef194-97a5-40f9-9e4b-e8426a909880","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.0822685} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"eb78b920-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.839955343Z"}]},"request_id":"a4992f32-5883-43dd-8b93-17b79ebb9d91","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.0853927} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb790740-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb797c70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling 200 16ms","method":"POST","requestID":"eb797c70-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb78b920-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5171790e-2a1a-4c50-ada8-94507c9d5a62#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5171790e-2a1a-4c50-ada8-94507c9d5a62","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"fdfdf58f-a404-489a-be57-b48e6604bf71","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.0904975} device-1 | {"level":"info","message":"GET /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42? 200 25ms","method":"GET","requestID":"eb78b920-e324-11ef-a766-ff4094b4009c","responseTime":25,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb790740-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/8774deaf-9401-45de-96e4-6b678379d914? 200 24ms","method":"GET","requestID":"eb790740-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76cf1bb7-e36f-42f3-9362-999a029f8419","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.0909321} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb7cb0c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb7cfee0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9967360f-9411-4f19-885c-726524ae9803","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.0977528} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.60638,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb7cb0c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"eb7cb0c0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a01133cf-4b15-46e8-af27-0357b3030ce1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.1012893} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.162823,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e","responseTime":169,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb7cfee0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"eb7cfee0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb7cb0c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8774deaf-9401-45de-96e4-6b678379d914/signaling 200 13ms","method":"POST","requestID":"eb7cb0c0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb7cfee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling 200 13ms","method":"POST","requestID":"eb7cfee0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY","level":"info","message":"auth send jwt","requestID":"b7c2b256e20d40feccc307467cd9458d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b7c2b256e20d40feccc307467cd9458d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b7c2b256e20d40feccc307467cd9458d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb7f6fe0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80489,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b7c2b256e20d40feccc307467cd9458d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693318,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b7c2b256e20d40feccc307467cd9458d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb5eb154-dc80-4c0e-b83f-81dfc707a04f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.1137319} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.537036,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb7f6fe0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eb7f6fe0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb7f6fe0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.790983967Z"}]},"request_id":"d96f4bc3-6473-4e0b-8be0-012290bac51c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.1175072} device-1 | {"level":"info","message":"POST /devices/8774deaf-9401-45de-96e4-6b678379d914/signaling 200 8ms","method":"POST","requestID":"eb7f6fe0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b7c2b256e20d40feccc307467cd9458d","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Building connection plan","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"6bbeccb1-d538-42ad-a0f9-abeea01bdd8c"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"f3b47b31-faea-4fdf-9dc0-24d2839f2bf6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c91fa016-81c8-4f37-807c-38008b640efb"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b7c2b256e20d40feccc307467cd9458d"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7c2b256e20d40feccc307467cd9458d"} device-1 | {"level":"info","message":"GET /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42? 200 14ms","method":"GET","requestID":"b7c2b256e20d40feccc307467cd9458d","responseTime":14,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42?"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.720089,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb80f680-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693317,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxN30.mjTiSwi3CvsF4PHr4PDrrH0yI46lXRWBw89koL8Vmoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY","level":"info","message":"auth send jwt","requestID":"cb7a546e32a858f97cee43412c0fd5bd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cb7a546e32a858f97cee43412c0fd5bd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb7a546e32a858f97cee43412c0fd5bd"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644437,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cb7a546e32a858f97cee43412c0fd5bd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693318,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb7a546e32a858f97cee43412c0fd5bd","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"5ea169b9-86cf-4bae-9b18-d2f6cc5052be","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.1341279} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1de7e917-ffde-498d-b437-4b4687383c72","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.134224} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:55.839955343Z"}]},"request_id":"003bf939-4b18-4240-8913-24cb74a8a3bd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.1351895} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cb7a546e32a858f97cee43412c0fd5bd","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cb7a546e32a858f97cee43412c0fd5bd"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8774deaf-9401-45de-96e4-6b678379d914? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb7a546e32a858f97cee43412c0fd5bd"} device-1 | {"level":"info","message":"GET /devices/8774deaf-9401-45de-96e4-6b678379d914? 200 13ms","method":"GET","requestID":"cb7a546e32a858f97cee43412c0fd5bd","responseTime":13,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33'","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33'","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"eb80f680-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33","device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33","device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fe4705f45cb9b0a52c4a4d1542e3723e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb8b56c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74955f25-4671-4af2-9b23-00caa11d2073","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.1929939} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.559264,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb8b56c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eb8b56c0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb8b56c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling 200 8ms","method":"POST","requestID":"eb8b56c0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb8cdd60-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"095665b3-bf4c-4ef2-9865-987c1d60d22f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.202883} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.90142,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb8cdd60-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb8cdd60-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb8cdd60-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8774deaf-9401-45de-96e4-6b678379d914/signaling 200 9ms","method":"POST","requestID":"eb8cdd60-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914/signaling"} device-1 | {"device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 6421515167667472194 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:DUn6\r\na=ice-pwd:mGaE9VroDnsUJj4IPykZ2HIT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C4:16:67:A8:67:22:E4:0C:78:A9:3C:91:90:9C:CA:EF:5E:72:E9:BF:0F:AA:68:57:22:DB:F0:19:74:7B:FB:86\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 328284095821743911 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:0Gmg\r\na=ice-pwd:Xz2Mg7vGXEZ0TwZTonyz0X97\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2D:B8:4A:E6:F7:C5:2C:08:01:EA:47:1F:61:A4:11:34:22:30:33:6A:CC:9E:B9:C3:95:BC:1D:94:F3:EF:D5:00\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2686887794 1 udp 2113937151 7bb94290-ffb2-4d15-bb66-3ff8797db24a.local 60298 typ host generation 0 ufrag 0Gmg network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:604753165 1 udp 1677729535 141.24.211.56 60298 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 0Gmg network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914'"} device-1 | {"content":{"candidate":"candidate:284400118 1 udp 2113937151 b2f44ee4-c0a1-45d8-ae67-f0ade47dc300.local 59894 typ host generation 0 ufrag DUn6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2497639305 1 udp 1677729535 141.24.211.56 59894 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag DUn6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42'"} device-1 | {"device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9022da73-867a-4e9c-b778-f50ca80c2c33","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf785cb194c3e1e0a98a53cd8f2564f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"cf785cb194c3e1e0a98a53cd8f2564f2","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33"}}},"level":"info","message":"received a callback","requestID":"cf785cb194c3e1e0a98a53cd8f2564f2"} device-1 | {"device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"cf785cb194c3e1e0a98a53cd8f2564f2","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf785cb194c3e1e0a98a53cd8f2564f2"} device-1 | {"device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"9022da73-867a-4e9c-b778-f50ca80c2c33","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9022da73-867a-4e9c-b778-f50ca80c2c33","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9022da73-867a-4e9c-b778-f50ca80c2c33","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"862f672446db1c615829ce3bbc6d485a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"862f672446db1c615829ce3bbc6d485a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33"}}},"level":"info","message":"received a callback","requestID":"862f672446db1c615829ce3bbc6d485a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"eb9a9900-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9022da73-867a-4e9c-b778-f50ca80c2c33","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ac63593-b610-45d7-a0ee-7da8f14b666b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.2923105} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.198688,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb9a9900-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb9a9900-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"eb9a9900-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33 200 8ms","method":"GET","requestID":"eb9a9900-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"862f672446db1c615829ce3bbc6d485a","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"862f672446db1c615829ce3bbc6d485a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb9df460-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1093bb8e-eef4-4e80-824f-c5ee9c8b5b4c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.3143523} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.512848,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb9df460-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb9df460-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb9df460-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8774deaf-9401-45de-96e4-6b678379d914/signaling 200 8ms","method":"POST","requestID":"eb9df460-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eb9f7b00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"944335de-b986-457a-8133-e898a94bb99d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.3247678} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.434733,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eb9f7b00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb9f7b00-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eb9f7b00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling 200 8ms","method":"POST","requestID":"eb9f7b00-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY","level":"info","message":"auth send jwt","requestID":"25351279d63bd3f9d2c2dd5140ca2d8e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25351279d63bd3f9d2c2dd5140ca2d8e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62","requestID":"25351279d63bd3f9d2c2dd5140ca2d8e"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.657551,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"25351279d63bd3f9d2c2dd5140ca2d8e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693318,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"25351279d63bd3f9d2c2dd5140ca2d8e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62","requestID":"25351279d63bd3f9d2c2dd5140ca2d8e"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25351279d63bd3f9d2c2dd5140ca2d8e"} experiment-1 | {"level":"info","message":"GET /experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62 200 9ms","method":"GET","requestID":"25351279d63bd3f9d2c2dd5140ca2d8e","responseTime":9,"status":200,"url":"/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY","level":"info","message":"auth send jwt","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.778734,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693318,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Attempting to finish experiment","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"eba9db40-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.967519,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eba9db40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693318,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eba9db40-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33","device":"8774deaf-9401-45de-96e4-6b678379d914","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33","device":"1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9022da73-867a-4e9c-b778-f50ca80c2c33","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9022da73-867a-4e9c-b778-f50ca80c2c33': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9022da73-867a-4e9c-b778-f50ca80c2c33","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"3e039549-47fe-4bbc-bc08-70b581034bf0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.4056606} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae04dace-d0d2-4878-8262-9a318a036f93","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.4058826} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1f11ae578dc990c637cf7a1d9afb9c12","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1f11ae578dc990c637cf7a1d9afb9c12","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f6fa63345a35853e90383608c3b9c60d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"eba9db40-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"f6fa63345a35853e90383608c3b9c60d","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33"}}},"level":"info","message":"received a callback","requestID":"1f11ae578dc990c637cf7a1d9afb9c12"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33"}}},"level":"info","message":"received a callback","requestID":"f6fa63345a35853e90383608c3b9c60d"} device-1 | {"data":{"peerconnection":"9022da73-867a-4e9c-b778-f50ca80c2c33","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"eba9db40-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33 204 38ms","method":"DELETE","requestID":"eba9db40-e324-11ef-a766-ff4094b4009c","responseTime":38,"status":204,"url":"/peerconnections/9022da73-867a-4e9c-b778-f50ca80c2c33"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"},"level":"info","message":"Successfully finished experiment","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ebb30300-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8774deaf-9401-45de-96e4-6b678379d914","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1df91c76-1443-43f6-97e1-e867884b7f5a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.452077} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.337728,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ebb30300-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ebb30300-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5171790e-2a1a-4c50-ada8-94507c9d5a62': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5171790e-2a1a-4c50-ada8-94507c9d5a62","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"07e3a884-0959-4741-9ead-820f34d9154e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.457694} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e381083-be10-4a79-adc8-8cae27eadfc0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.4579115} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebb30300-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8774deaf-9401-45de-96e4-6b678379d914/signaling 200 11ms","method":"POST","requestID":"ebb30300-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/8774deaf-9401-45de-96e4-6b678379d914/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ebb4fed0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"972cc41c-7735-42ee-a025-989944259fbd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.4652145} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.44967,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ebb4fed0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ebb4fed0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ebb4fed0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling 200 9ms","method":"POST","requestID":"ebb4fed0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82"} experiment-1 | {"level":"info","message":"DELETE /experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62 204 132ms","method":"DELETE","requestID":"b3bab0f29a42cd7a3c77d08fa1bf1f82","responseTime":132,"status":204,"url":"/experiments/5171790e-2a1a-4c50-ada8-94507c9d5a62"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 103ms","method":"POST","requestID":"1f11ae578dc990c637cf7a1d9afb9c12","responseTime":103,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f11ae578dc990c637cf7a1d9afb9c12"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 102ms","method":"POST","requestID":"f6fa63345a35853e90383608c3b9c60d","responseTime":102,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"f6fa63345a35853e90383608c3b9c60d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY","level":"info","message":"auth send jwt","requestID":"1ff616b871545e59f9bc58f82519fca1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ff616b871545e59f9bc58f82519fca1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1ff616b871545e59f9bc58f82519fca1"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.650","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"602b7e59a8542612a85b9aa72624c5fa"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2847","request_time":"0.661","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0ef55bc44b075d70de0f1bb5c62e7f13"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8774deaf-9401-45de-96e4-6b678379d914' closed"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.707177,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1ff616b871545e59f9bc58f82519fca1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693318,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"1ff616b871545e59f9bc58f82519fca1","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1cc0e1c0-37a8-4657-a6e0-07844a0c2e42' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2e2ec3b3-a1dd-40f2-b7c9-4e66e32304f2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.5425508} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1ff616b871545e59f9bc58f82519fca1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"329c4ac3-de64-47d0-9fb8-cf8ede31e32f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.5468779} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1ff616b871545e59f9bc58f82519fca1","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"d6ea6cdb-fcd2-4002-95b3-4e8f64ad21e3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.5577862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d61a2471-ba21-42c9-b2f9-86a14275e203","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.558042} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"1ff616b871545e59f9bc58f82519fca1","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.557758010Z"}]},"request_id":"6a87c3f8-e556-49ed-b034-41fa64a6ff1e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.5612814} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1ff616b871545e59f9bc58f82519fca1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1ff616b871545e59f9bc58f82519fca1"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"1ff616b871545e59f9bc58f82519fca1","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ff616b871545e59f9bc58f82519fca1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY","level":"info","message":"auth send jwt","requestID":"690d21f62d940a172e675df4f9ff50ac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"690d21f62d940a172e675df4f9ff50ac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"690d21f62d940a172e675df4f9ff50ac"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.632676,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:21:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"690d21f62d940a172e675df4f9ff50ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693318,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMxOH0.wJZsYmgtZQRNYYPEf_e_b9U_pBY9MhCZvP5tYceIaYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"690d21f62d940a172e675df4f9ff50ac","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f1816cb9-6d36-4687-bdcc-787221383c2b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.5813723} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"690d21f62d940a172e675df4f9ff50ac","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f2d57df-57d5-41f4-b250-b58cf75184e3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.585174} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"690d21f62d940a172e675df4f9ff50ac","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"9f45750a-273f-461e-9780-53a4ce9da218","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.5945342} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74f42914-98d2-45de-86a9-033f7310ba62","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.5947738} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"690d21f62d940a172e675df4f9ff50ac","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.594515089Z"}]},"request_id":"697ec02e-7ca2-4f71-9906-a1c178a17ad6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693318.5988896} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"690d21f62d940a172e675df4f9ff50ac","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"690d21f62d940a172e675df4f9ff50ac"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"690d21f62d940a172e675df4f9ff50ac","responseTime":34,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:21:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"690d21f62d940a172e675df4f9ff50ac"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b68c49cc70e02a78c27df5745db186a3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b68c49cc70e02a78c27df5745db186a3","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:22:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b68c49cc70e02a78c27df5745db186a3"} device-1 | {"level":"info","message":"OPTIONS /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/websocket 200 1ms","method":"OPTIONS","requestID":"b68c49cc70e02a78c27df5745db186a3","responseTime":1,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8","level":"info","message":"auth send jwt","requestID":"e89338265a01a3cdb6a4bac7ea98c669"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e89338265a01a3cdb6a4bac7ea98c669","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e89338265a01a3cdb6a4bac7ea98c669"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230438,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e89338265a01a3cdb6a4bac7ea98c669","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e89338265a01a3cdb6a4bac7ea98c669","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5adce8c3f04775cef91cad094d1f8eee","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5adce8c3f04775cef91cad094d1f8eee","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:22:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5adce8c3f04775cef91cad094d1f8eee"} device-1 | {"level":"info","message":"OPTIONS /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/websocket 200 1ms","method":"OPTIONS","requestID":"5adce8c3f04775cef91cad094d1f8eee","responseTime":1,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e89338265a01a3cdb6a4bac7ea98c669"} gateway-1 | {"time_local":"04/Feb/2025:18:22:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e89338265a01a3cdb6a4bac7ea98c669"} device-1 | {"level":"info","message":"POST /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/websocket 200 25ms","method":"POST","requestID":"e89338265a01a3cdb6a4bac7ea98c669","responseTime":25,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8","level":"info","message":"auth send jwt","requestID":"28def014686e1c623c8dbdb8ad696ec3"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"28def014686e1c623c8dbdb8ad696ec3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"28def014686e1c623c8dbdb8ad696ec3"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216844,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"28def014686e1c623c8dbdb8ad696ec3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"28def014686e1c623c8dbdb8ad696ec3","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"28def014686e1c623c8dbdb8ad696ec3"} gateway-1 | {"time_local":"04/Feb/2025:18:22:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"28def014686e1c623c8dbdb8ad696ec3"} device-1 | {"level":"info","message":"POST /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/websocket 200 30ms","method":"POST","requestID":"28def014686e1c623c8dbdb8ad696ec3","responseTime":30,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8","level":"info","message":"auth send jwt","requestID":"529f4315181f8f89d074e9c9d69baa33"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"529f4315181f8f89d074e9c9d69baa33","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"529f4315181f8f89d074e9c9d69baa33"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721023,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"529f4315181f8f89d074e9c9d69baa33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"529f4315181f8f89d074e9c9d69baa33","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.557758010Z"}]},"request_id":"f541816b-2c5f-4a7b-8d4d-5bf1c176d18f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.6756396} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"529f4315181f8f89d074e9c9d69baa33","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"529f4315181f8f89d074e9c9d69baa33"} device-1 | {"level":"info","message":"GET /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7? 200 16ms","method":"GET","requestID":"529f4315181f8f89d074e9c9d69baa33","responseTime":16,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"529f4315181f8f89d074e9c9d69baa33"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8","level":"info","message":"auth send jwt","requestID":"7bfafa9402e24b91c69b500e42f40aa1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7bfafa9402e24b91c69b500e42f40aa1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7bfafa9402e24b91c69b500e42f40aa1"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.63616,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"7bfafa9402e24b91c69b500e42f40aa1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7bfafa9402e24b91c69b500e42f40aa1","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.594515089Z"}]},"request_id":"2d1e2e6e-66c0-4492-86f9-c1b0a8386bf6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.6998231} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7bfafa9402e24b91c69b500e42f40aa1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7bfafa9402e24b91c69b500e42f40aa1"} device-1 | {"level":"info","message":"GET /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c? 200 16ms","method":"GET","requestID":"7bfafa9402e24b91c69b500e42f40aa1","responseTime":16,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bfafa9402e24b91c69b500e42f40aa1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8","level":"info","message":"auth send jwt","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4f7348b92e5ce5abe1631fea59c9acee","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.187341,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4f7348b92e5ce5abe1631fea59c9acee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4f7348b92e5ce5abe1631fea59c9acee","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Attempting to run experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Attempting to book experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Successfully booked experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed13f290-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed1419a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889958,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed13f290-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ed13f290-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687476,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed1419a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ed1419a0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.557758010Z"}]},"request_id":"a0ea025f-31c3-43bc-80f0-b9439fbacc9d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.7703233} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"ed13f290-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.594515089Z"}]},"request_id":"79dd7e37-8b79-4728-9a33-c229d8b87779","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.7719567} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ed1419a0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed13f290-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7? 200 17ms","method":"GET","requestID":"ed13f290-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed1419a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c? 200 17ms","method":"GET","requestID":"ed1419a0-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Setting up experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Successfully set up experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed1fb260-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed200080-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed2075b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.693435,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Successfully running experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed1fb260-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"ed1fb260-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.405046,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed200080-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"ed200080-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.121262,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3705e56a-618f-47c9-ad91-21c37c9b61ce","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.853951} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed2075b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"ed2075b0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.557758010Z"}]},"request_id":"d8f42ad7-dc26-4939-b8a0-da665ec50c16","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.8614633} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"ed1fb260-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.594515089Z"}]},"request_id":"8fbc049d-a2a6-413a-92c3-a4e5c96710de","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.866595} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"ed200080-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed2075b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling 200 27ms","method":"POST","requestID":"ed2075b0-e324-11ef-a766-ff4094b4009c","responseTime":27,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed2557b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4cff0247-1042-47c9-93a5-3894f1d32c16#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4cff0247-1042-47c9-93a5-3894f1d32c16","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"c2ab08fb-daeb-440e-bdcc-25c41ceb8fd5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.8770518} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed1fb260-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7? 200 40ms","method":"GET","requestID":"ed1fb260-e324-11ef-a766-ff4094b4009c","responseTime":40,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed200080-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"760c1bc4-25dd-46ab-a953-70fd7a842d66","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.8777308} device-1 | {"level":"info","message":"GET /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c? 200 40ms","method":"GET","requestID":"ed200080-e324-11ef-a766-ff4094b4009c","responseTime":40,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"4f7348b92e5ce5abe1631fea59c9acee","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54659bc8-13ef-4b45-9287-92751e9b2c6e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.8819835} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.852338,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed2557b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed26b740-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ed2557b0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed2557b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling 200 15ms","method":"POST","requestID":"ed2557b0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9d94f3d-1acd-443a-8374-cbd8539b636a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.8901007} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.682797,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed26b740-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ed26b740-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} gateway-1 | {"time_local":"04/Feb/2025:18:22:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"4f7348b92e5ce5abe1631fea59c9acee","responseTime":180,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed26b740-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling 200 11ms","method":"POST","requestID":"ed26b740-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed28da20-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8","level":"info","message":"auth send jwt","requestID":"739a421dfee683bdb577b7d5bd06e73f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"739a421dfee683bdb577b7d5bd06e73f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"739a421dfee683bdb577b7d5bd06e73f"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837265,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"739a421dfee683bdb577b7d5bd06e73f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"739a421dfee683bdb577b7d5bd06e73f","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24fc9848-6e23-4726-aa94-b2a1b22cd5c3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.902879} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.397668,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed28da20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed28da20-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.557758010Z"}]},"request_id":"7752a7b1-78f0-4c70-bf5e-47f90a98f320","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.906765} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed28da20-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"739a421dfee683bdb577b7d5bd06e73f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling 200 9ms","method":"POST","requestID":"ed28da20-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Building connection plan","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"636971d4-f727-4573-b440-4ed75a1fef69"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"8636d730-de14-4576-8c2a-db94199c3f77"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"394d42b9-48e4-493e-b753-68d583f0cd4c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"739a421dfee683bdb577b7d5bd06e73f"} gateway-1 | {"time_local":"04/Feb/2025:18:22:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"739a421dfee683bdb577b7d5bd06e73f"} device-1 | {"level":"info","message":"GET /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7? 200 12ms","method":"GET","requestID":"739a421dfee683bdb577b7d5bd06e73f","responseTime":12,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7?"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.254411,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8","level":"info","message":"auth send jwt","requestID":"6b2eba1303a08f19a87983e4a3748772"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6b2eba1303a08f19a87983e4a3748772","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b2eba1303a08f19a87983e4a3748772"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832456,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6b2eba1303a08f19a87983e4a3748772","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693320,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMH0.5g6gkQqsevtkdAO8GFHn5VmDWX7mhEKpOkQbdZENmC8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6b2eba1303a08f19a87983e4a3748772","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:21:58.594515089Z"}]},"request_id":"bcee1899-d12d-4689-b01f-5bdf5dc63305","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.9260378} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b2eba1303a08f19a87983e4a3748772","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"9450b7a2-b136-45b6-8c29-25ed11d17cec","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.9271867} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f0605d9-2161-4936-9f1c-b412b0c1198e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.9274728} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b2eba1303a08f19a87983e4a3748772"} gateway-1 | {"time_local":"04/Feb/2025:18:22:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b2eba1303a08f19a87983e4a3748772"} device-1 | {"level":"info","message":"GET /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c? 200 12ms","method":"GET","requestID":"6b2eba1303a08f19a87983e4a3748772","responseTime":12,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0'","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0'","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"ed2aaee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0","device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0","device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4f7348b92e5ce5abe1631fea59c9acee"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed34c100-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccf5deca-4b82-46f2-8fcb-233167c8bf2c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.9807403} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.590779,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed34c100-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ed34c100-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed34c100-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling 200 10ms","method":"POST","requestID":"ed34c100-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling"} device-1 | {"device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"canTrickle":true},"device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed3695c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0d21313-2efe-4c49-b3c1-6068606079cd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693320.9926827} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.321786,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed3695c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ed3695c0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 8204737477502330371 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:DF+1\r\na=ice-pwd:uPq5AwbzA/qv4K+iD4xEl102\r\na=ice-options:trickle\r\na=fingerprint:sha-256 52:64:4E:B9:9F:70:DD:28:64:96:4F:1F:E1:FB:AB:05:88:AD:DD:CA:9C:AB:1B:33:85:55:F5:B8:5D:29:B8:3A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed3695c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling 200 9ms","method":"POST","requestID":"ed3695c0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 6893522253679259833 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:YTYb\r\na=ice-pwd:M0Ygp1eztqlAqm4+BiUQzm31\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F9:C6:78:8C:FB:E0:3D:52:29:A6:0D:8E:7C:B3:63:EB:72:6E:08:29:B1:65:50:B8:4E:15:CB:68:0C:EC:A6:C7\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1441633589 1 udp 2113937151 d89e1be3-0f62-43ad-86a8-3dfed2761107.local 34596 typ host generation 0 ufrag YTYb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3334878246 1 udp 1677729535 141.24.211.56 34596 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag YTYb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7'"} device-1 | {"content":{"candidate":"candidate:2415976879 1 udp 2113937151 5d86f975-4af6-47c9-9633-3a3ac5f08d33.local 43942 typ host generation 0 ufrag DF+1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:53166268 1 udp 1677729535 141.24.211.56 43942 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag DF+1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c'"} device-1 | {"device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"37510a85-3f5d-4d13-a39b-baa26d48f8f0","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4eaab3794096a507b18311b549faca42","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4eaab3794096a507b18311b549faca42","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0"}}},"level":"info","message":"received a callback","requestID":"4eaab3794096a507b18311b549faca42"} device-1 | {"device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"4eaab3794096a507b18311b549faca42","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"4eaab3794096a507b18311b549faca42"} device-1 | {"device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"37510a85-3f5d-4d13-a39b-baa26d48f8f0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"37510a85-3f5d-4d13-a39b-baa26d48f8f0","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"37510a85-3f5d-4d13-a39b-baa26d48f8f0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b01a36c87b4b967b52f2b9270c52154d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b01a36c87b4b967b52f2b9270c52154d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0"}}},"level":"info","message":"received a callback","requestID":"b01a36c87b4b967b52f2b9270c52154d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ed4080d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37510a85-3f5d-4d13-a39b-baa26d48f8f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a58f523b-a08a-4b49-bb7b-000405c161a1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.0574374} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.298615,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed4080d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed4080d0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ed4080d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0 200 7ms","method":"GET","requestID":"ed4080d0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"b01a36c87b4b967b52f2b9270c52154d","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"b01a36c87b4b967b52f2b9270c52154d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed43b520-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffc7131b-b6a1-4d42-a5fe-81fe0a4c0450","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.0786865} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.226736,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed43b520-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ed43b520-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed43b520-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling 200 8ms","method":"POST","requestID":"ed43b520-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed453bc0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b73bb9c6-d5ea-4ae5-beeb-d4d025b25956","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.0885565} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.360606,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed453bc0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed453bc0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed453bc0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling 200 8ms","method":"POST","requestID":"ed453bc0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc","level":"info","message":"auth send jwt","requestID":"bc9ce429d8c47d8c7d0832c3d8bb8f73"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bc9ce429d8c47d8c7d0832c3d8bb8f73","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4cff0247-1042-47c9-93a5-3894f1d32c16","requestID":"bc9ce429d8c47d8c7d0832c3d8bb8f73"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.678212,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bc9ce429d8c47d8c7d0832c3d8bb8f73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693321,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bc9ce429d8c47d8c7d0832c3d8bb8f73","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4cff0247-1042-47c9-93a5-3894f1d32c16","requestID":"bc9ce429d8c47d8c7d0832c3d8bb8f73"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4cff0247-1042-47c9-93a5-3894f1d32c16 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc9ce429d8c47d8c7d0832c3d8bb8f73"} experiment-1 | {"level":"info","message":"GET /experiments/4cff0247-1042-47c9-93a5-3894f1d32c16 200 12ms","method":"GET","requestID":"bc9ce429d8c47d8c7d0832c3d8bb8f73","responseTime":12,"status":200,"url":"/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc","level":"info","message":"auth send jwt","requestID":"a77489670de6eda17eab6ba17e482f10"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a77489670de6eda17eab6ba17e482f10","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4cff0247-1042-47c9-93a5-3894f1d32c16","requestID":"a77489670de6eda17eab6ba17e482f10"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.894481,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a77489670de6eda17eab6ba17e482f10","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693321,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a77489670de6eda17eab6ba17e482f10","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Attempting to finish experiment","requestID":"a77489670de6eda17eab6ba17e482f10"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ed51e5f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.298764,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed51e5f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693321,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed51e5f0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0","device":"1e3f1121-98b5-472c-b8af-b3b73c202ac7","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0","device":"e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"37510a85-3f5d-4d13-a39b-baa26d48f8f0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37510a85-3f5d-4d13-a39b-baa26d48f8f0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37510a85-3f5d-4d13-a39b-baa26d48f8f0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"780f7d63-adda-48ba-80f5-ba61c2e8b0b0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.1871884} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d35f8c4-0504-4b67-9d94-7a6830c100a1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.1875074} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"50555745c0e43b9ef36feb6fece84487","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"50555745c0e43b9ef36feb6fece84487","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"ed51e5f0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"79d668da7a79bac77c9c10620b65c0bc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0"}}},"level":"info","message":"received a callback","requestID":"50555745c0e43b9ef36feb6fece84487"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"79d668da7a79bac77c9c10620b65c0bc","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0"}}},"level":"info","message":"received a callback","requestID":"79d668da7a79bac77c9c10620b65c0bc"} device-1 | {"data":{"peerconnection":"37510a85-3f5d-4d13-a39b-baa26d48f8f0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ed51e5f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0 204 56ms","method":"DELETE","requestID":"ed51e5f0-e324-11ef-a766-ff4094b4009c","responseTime":56,"status":204,"url":"/peerconnections/37510a85-3f5d-4d13-a39b-baa26d48f8f0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"},"level":"info","message":"Successfully finished experiment","requestID":"a77489670de6eda17eab6ba17e482f10"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed5e9020-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e3f1121-98b5-472c-b8af-b3b73c202ac7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab62fac4-e1f5-4b6a-aa4c-35bf18f02fbf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.2576718} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.35518,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed5e9020-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"ed5e9020-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed5e9020-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling 200 15ms","method":"POST","requestID":"ed5e9020-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4cff0247-1042-47c9-93a5-3894f1d32c16': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4cff0247-1042-47c9-93a5-3894f1d32c16","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"53b4e9e2-b43d-42c7-9a26-24e6b140ef2a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.2678668} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"891432b8-ba6e-43bc-ae20-f175eb39822e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.2683382} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ed614f40-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"a77489670de6eda17eab6ba17e482f10","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe885d21f-19ae-4ddf-bb69-53ef19f6bd2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84571248-e742-4a81-b520-d6a56475d3b5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.2778862} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.695547,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ed614f40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"ed614f40-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ed614f40-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling 200 17ms","method":"POST","requestID":"ed614f40-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4cff0247-1042-47c9-93a5-3894f1d32c16","requestID":"a77489670de6eda17eab6ba17e482f10"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4cff0247-1042-47c9-93a5-3894f1d32c16 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a77489670de6eda17eab6ba17e482f10"} experiment-1 | {"level":"info","message":"DELETE /experiments/4cff0247-1042-47c9-93a5-3894f1d32c16 204 191ms","method":"DELETE","requestID":"a77489670de6eda17eab6ba17e482f10","responseTime":191,"status":204,"url":"/experiments/4cff0247-1042-47c9-93a5-3894f1d32c16"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 161ms","method":"POST","requestID":"50555745c0e43b9ef36feb6fece84487","responseTime":161,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch","requestID":"50555745c0e43b9ef36feb6fece84487"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc","level":"info","message":"auth send jwt","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"79d668da7a79bac77c9c10620b65c0bc","responseTime":162,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch","requestID":"79d668da7a79bac77c9c10620b65c0bc"} device-1 | {"level":"info","message":"postDevices called","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.924039,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.748","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5ca060558805b2e427f137c4a3a65178"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693321,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.713","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d7d42e7f9a2a57688fc7a8e5133e0d0d"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1e3f1121-98b5-472c-b8af-b3b73c202ac7' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e885d21f-19ae-4ddf-bb69-53ef19f6bd2c' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6cdb6471-0cd7-462d-8a6d-b08b5beff76d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.3732262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2252b5c1-85c1-4bf1-b608-95b3c61bee94","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.3784456} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"57751be3-36d3-48b1-a131-314650a8a43a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.3891478} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08fda8e4-3b03-498c-aeac-6315ccb81ff6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.3894088} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.389121927Z"}]},"request_id":"f6e547e2-865f-4435-8c92-c23446659a43","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.3931105} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6018fe1e6ca38e5d5d8a4a20d97acb53"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc","level":"info","message":"auth send jwt","requestID":"0153ee1b911d179bc2a8c57cb1dae017"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0153ee1b911d179bc2a8c57cb1dae017","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0153ee1b911d179bc2a8c57cb1dae017"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.797122,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0153ee1b911d179bc2a8c57cb1dae017","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693321,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0153ee1b911d179bc2a8c57cb1dae017","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4028d976-a65b-4a00-95a8-b11103748d89","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.4171648} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0153ee1b911d179bc2a8c57cb1dae017","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b0d2905-22d5-49af-930c-c7f0b14e6b6a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.4216003} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"0153ee1b911d179bc2a8c57cb1dae017","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"a9af37b4-498b-42f5-aa18-a921d1aa3a9c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.4307654} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd34d428-80b1-4451-b447-9fb4b33ca3e9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.4309826} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"0153ee1b911d179bc2a8c57cb1dae017","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.430743675Z"}]},"request_id":"17627561-8788-44a6-bdef-f429c8feb152","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.4345202} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0153ee1b911d179bc2a8c57cb1dae017","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0153ee1b911d179bc2a8c57cb1dae017"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0153ee1b911d179bc2a8c57cb1dae017"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"0153ee1b911d179bc2a8c57cb1dae017","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc","level":"info","message":"auth send jwt","requestID":"c79b08f0b471de81ee5e8606f9179c48"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c79b08f0b471de81ee5e8606f9179c48","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c79b08f0b471de81ee5e8606f9179c48"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908531,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c79b08f0b471de81ee5e8606f9179c48","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693321,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c79b08f0b471de81ee5e8606f9179c48","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.430743675Z"}]},"request_id":"51c3c082-453a-4c11-b171-fb2f4bd66c74","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.90765} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c79b08f0b471de81ee5e8606f9179c48","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12a51759-623c-4823-a2a8-2a36c60bd64c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.9147043} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c79b08f0b471de81ee5e8606f9179c48","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.430743675Z"}]},"request_id":"145ed053-40eb-4c8f-9ac6-9392d18d2b8a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693321.9372554} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c79b08f0b471de81ee5e8606f9179c48","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c79b08f0b471de81ee5e8606f9179c48"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/44aa978b-ee93-4247-816f-01bffc4df328 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"c79b08f0b471de81ee5e8606f9179c48"} device-1 | {"level":"info","message":"PATCH /devices/44aa978b-ee93-4247-816f-01bffc4df328 200 46ms","method":"PATCH","requestID":"c79b08f0b471de81ee5e8606f9179c48","responseTime":46,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc","level":"info","message":"auth send jwt","requestID":"ae70dc3ff030ef2598c6c001d71fc3c1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ae70dc3ff030ef2598c6c001d71fc3c1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ae70dc3ff030ef2598c6c001d71fc3c1"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.370829,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ae70dc3ff030ef2598c6c001d71fc3c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693321,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyMX0.aMxirEdxqSommD9JNkCJjck6MQhkEwxq_ISd1s6B6Zc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ae70dc3ff030ef2598c6c001d71fc3c1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ae70dc3ff030ef2598c6c001d71fc3c1"} gateway-1 | {"time_local":"04/Feb/2025:18:22:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/44aa978b-ee93-4247-816f-01bffc4df328/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"ae70dc3ff030ef2598c6c001d71fc3c1"} device-1 | {"level":"info","message":"POST /devices/44aa978b-ee93-4247-816f-01bffc4df328/websocket 200 23ms","method":"POST","requestID":"ae70dc3ff030ef2598c6c001d71fc3c1","responseTime":23,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4360b091357610b48375631ed336ca33","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4360b091357610b48375631ed336ca33","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:22:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1f0dabff-762e-46d9-981b-800033db84e9/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4360b091357610b48375631ed336ca33"} device-1 | {"level":"info","message":"OPTIONS /devices/1f0dabff-762e-46d9-981b-800033db84e9/websocket 200 1ms","method":"OPTIONS","requestID":"4360b091357610b48375631ed336ca33","responseTime":1,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU","level":"info","message":"auth send jwt","requestID":"8ead965f5af4259fb98e05f2e7c22656"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8ead965f5af4259fb98e05f2e7c22656","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8ead965f5af4259fb98e05f2e7c22656"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.238994,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8ead965f5af4259fb98e05f2e7c22656","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8ead965f5af4259fb98e05f2e7c22656","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8ead965f5af4259fb98e05f2e7c22656"} device-1 | {"level":"info","message":"POST /devices/1f0dabff-762e-46d9-981b-800033db84e9/websocket 200 26ms","method":"POST","requestID":"8ead965f5af4259fb98e05f2e7c22656","responseTime":26,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:22:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1f0dabff-762e-46d9-981b-800033db84e9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8ead965f5af4259fb98e05f2e7c22656"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU","level":"info","message":"auth send jwt","requestID":"413bdb2a902fe235a9a5e69cf72d5dad"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"413bdb2a902fe235a9a5e69cf72d5dad","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"413bdb2a902fe235a9a5e69cf72d5dad"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.338852,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"413bdb2a902fe235a9a5e69cf72d5dad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"413bdb2a902fe235a9a5e69cf72d5dad","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.389121927Z"}]},"request_id":"70542d1b-db41-4bed-9769-b4fbc49af360","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.5328784} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"413bdb2a902fe235a9a5e69cf72d5dad","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"413bdb2a902fe235a9a5e69cf72d5dad"} gateway-1 | {"time_local":"04/Feb/2025:18:22:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1f0dabff-762e-46d9-981b-800033db84e9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"413bdb2a902fe235a9a5e69cf72d5dad"} device-1 | {"level":"info","message":"GET /devices/1f0dabff-762e-46d9-981b-800033db84e9? 200 19ms","method":"GET","requestID":"413bdb2a902fe235a9a5e69cf72d5dad","responseTime":19,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU","level":"info","message":"auth send jwt","requestID":"af58160b168776540bcc4dffa9a88c15"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"af58160b168776540bcc4dffa9a88c15","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af58160b168776540bcc4dffa9a88c15"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.119622,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"af58160b168776540bcc4dffa9a88c15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af58160b168776540bcc4dffa9a88c15","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.430743675Z"}]},"request_id":"5274101d-2806-4fa8-b0ed-e13557d76449","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.5584927} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"af58160b168776540bcc4dffa9a88c15","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af58160b168776540bcc4dffa9a88c15"} device-1 | {"level":"info","message":"GET /devices/44aa978b-ee93-4247-816f-01bffc4df328? 200 18ms","method":"GET","requestID":"af58160b168776540bcc4dffa9a88c15","responseTime":18,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44aa978b-ee93-4247-816f-01bffc4df328? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af58160b168776540bcc4dffa9a88c15"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU","level":"info","message":"auth send jwt","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.11643,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"df5dc3cd711366fbef54c4b2bddc9fbc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Attempting to run experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Attempting to book experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Successfully booked experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eec8a770-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eec8f590-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246436,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eec8a770-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"eec8a770-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732839,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eec8f590-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"eec8f590-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.389121927Z"}]},"request_id":"e0f9923e-e312-4a23-9e50-a412b8c0a212","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.6371944} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eec8a770-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.430743675Z"}]},"request_id":"61729f34-25c7-446a-aad6-11fd1eb47b83","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.6381454} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"eec8f590-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eec8a770-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/1f0dabff-762e-46d9-981b-800033db84e9? 200 20ms","method":"GET","requestID":"eec8a770-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eec8f590-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/44aa978b-ee93-4247-816f-01bffc4df328? 200 18ms","method":"GET","requestID":"eec8f590-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Setting up experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Successfully locked booking for experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Attempting to update booking for experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Successfully updated booking for experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Successfully set up experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eed307b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eed355d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Successfully running experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eed3cb00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.789214,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eed307b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"eed307b0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.35003,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eed355d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"eed355d0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af2c5f20-7133-4678-a51f-7f2142abad48","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.7073247} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.389121927Z"}]},"request_id":"13f4db1d-db4b-4b2b-b563-a1064fd7da6f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.7090333} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.973661,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eed3cb00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"eed3cb00-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"eed307b0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.430743675Z"}]},"request_id":"64a4f25f-7ba3-400a-84db-317c65178e04","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.711411} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"eed355d0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F886809d1-2529-4cba-aeac-b0e5b22622ba#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F886809d1-2529-4cba-aeac-b0e5b22622ba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"f03ad702-b3c7-4acd-86a6-45a39a1b401f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.7185493} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4aeb58e2-83ec-4362-8955-19c16ba6002e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.7190177} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eed3cb00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling 200 26ms","method":"POST","requestID":"eed3cb00-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eed307b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/1f0dabff-762e-46d9-981b-800033db84e9? 200 33ms","method":"GET","requestID":"eed307b0-e324-11ef-a766-ff4094b4009c","responseTime":33,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eed355d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/44aa978b-ee93-4247-816f-01bffc4df328? 200 32ms","method":"GET","requestID":"eed355d0-e324-11ef-a766-ff4094b4009c","responseTime":32,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eed8d410-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eed97050-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0952c94b-0e1f-43b9-89e9-debc640fea66","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.7354019} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.688741,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} gateway-1 | {"time_local":"04/Feb/2025:18:22:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eed8d410-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 168ms","method":"POST","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc","responseTime":168,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"eed8d410-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c9db3eb-3187-4fed-b7a7-939658356ba7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.7417643} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.743775,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eed8d410-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling 200 14ms","method":"POST","requestID":"eed8d410-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eed97050-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"eed97050-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU","level":"info","message":"auth send jwt","requestID":"0d2587e15c9ee9c5f8c9607f587fad6e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0d2587e15c9ee9c5f8c9607f587fad6e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d2587e15c9ee9c5f8c9607f587fad6e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eed97050-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling 200 17ms","method":"POST","requestID":"eed97050-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.759887,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eedc7d90-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0d2587e15c9ee9c5f8c9607f587fad6e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0d2587e15c9ee9c5f8c9607f587fad6e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.389121927Z"}]},"request_id":"2fbb278c-ef35-42ce-800f-8902433ba010","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.758146} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"319f269d-f064-4ca8-87a1-4bd71f35220a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.7584302} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0d2587e15c9ee9c5f8c9607f587fad6e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.946881,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eedc7d90-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"eedc7d90-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d2587e15c9ee9c5f8c9607f587fad6e"} gateway-1 | {"time_local":"04/Feb/2025:18:22:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1f0dabff-762e-46d9-981b-800033db84e9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d2587e15c9ee9c5f8c9607f587fad6e"} device-1 | {"level":"info","message":"GET /devices/1f0dabff-762e-46d9-981b-800033db84e9? 200 16ms","method":"GET","requestID":"0d2587e15c9ee9c5f8c9607f587fad6e","responseTime":16,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eedc7d90-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling 200 12ms","method":"POST","requestID":"eedc7d90-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Building connection plan","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"dc37517f-772f-44df-a3c1-33402d33eaa1"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"6124f105-3088-43b6-b5fd-6db369a358d7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a1b2e006-f7e9-4063-ae33-ee6951335cc1"}]},"level":"info","message":"Built pairwise service configurations","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"eedec780-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU","level":"info","message":"auth send jwt","requestID":"c0a322247ece214d9e2b2ffbf156fbfd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c0a322247ece214d9e2b2ffbf156fbfd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0a322247ece214d9e2b2ffbf156fbfd"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.907926,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eedec780-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eedec780-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019254,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c0a322247ece214d9e2b2ffbf156fbfd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693323,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyM30.OoNQw56bdyiwHxUWaFdKGrKNSpB2O2-9fjbqWw7wcOU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c0a322247ece214d9e2b2ffbf156fbfd","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:01.430743675Z"}]},"request_id":"2fb26fea-34c6-4d4f-a770-2bec1ba49d50","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.779657} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c0a322247ece214d9e2b2ffbf156fbfd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0a322247ece214d9e2b2ffbf156fbfd"} gateway-1 | {"time_local":"04/Feb/2025:18:22:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44aa978b-ee93-4247-816f-01bffc4df328? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0a322247ece214d9e2b2ffbf156fbfd"} device-1 | {"level":"info","message":"GET /devices/44aa978b-ee93-4247-816f-01bffc4df328? 200 14ms","method":"GET","requestID":"c0a322247ece214d9e2b2ffbf156fbfd","responseTime":14,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"755a392e-06cf-4e82-a373-8c19da7d54be","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.7849183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fcc09f1-c362-4d44-b1f0-14d9c10b704e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.7852902} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"eedec780-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"eedec780-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"eedec780-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef'","requestID":"eedec780-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef'","requestID":"eedec780-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"eedec780-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"eedec780-e324-11ef-a766-ff4094b4009c","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"eedec780-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef","device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"df5dc3cd711366fbef54c4b2bddc9fbc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eee927c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"769519e9-bd98-46dd-bf44-19c690491bdf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.8415954} device-1 | {"device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.839009,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} device-1 | {"content":{"canTrickle":true},"device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eee927c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"eee927c0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 7759541588691300607 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:HwaV\r\na=ice-pwd:dkMTJ7Dmnlenq1Ibn3FSop5v\r\na=ice-options:trickle\r\na=fingerprint:sha-256 35:14:82:31:F3:BD:AF:68:8E:5E:5A:39:D9:77:69:17:48:AE:CE:F6:F2:A1:3D:CA:2C:BE:9E:1C:2B:5E:CC:4C\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eee927c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling 200 14ms","method":"POST","requestID":"eee927c0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"eeeb98c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f043c318-b04e-48e5-a2ff-d2ab79543504","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693323.8569603} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.411829,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"eeeb98c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eeeb98c0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"eeeb98c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling 200 9ms","method":"POST","requestID":"eeeb98c0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling"} device-1 | {"device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"cac7978b-6289-469f-ba55-78d62bd28eef","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cac7978b-6289-469f-ba55-78d62bd28eef","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5fcc02f20df51d128e120511a6d8a943","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5fcc02f20df51d128e120511a6d8a943","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef"}}},"level":"info","message":"received a callback","requestID":"5fcc02f20df51d128e120511a6d8a943"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"5fcc02f20df51d128e120511a6d8a943","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"5fcc02f20df51d128e120511a6d8a943"} device-1 | {"content":{"candidate":"candidate:3377016053 1 udp 2113937151 167a67ce-de7c-4412-aeff-0750ed8dbf55.local 39806 typ host generation 0 ufrag HwaV network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2513508419 1 udp 1677729535 141.24.211.56 39806 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag HwaV network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1014153266 1 udp 33562623 141.24.210.113 51043 typ relay raddr 141.24.211.56 rport 39806 generation 0 ufrag HwaV network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9'"} device-1 | {"data":{"peerconnection":"cac7978b-6289-469f-ba55-78d62bd28eef","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"cac7978b-6289-469f-ba55-78d62bd28eef","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cac7978b-6289-469f-ba55-78d62bd28eef","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f4e3e896e982746d97bb23e724ee1b9c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f4e3e896e982746d97bb23e724ee1b9c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef"}}},"level":"info","message":"received a callback","requestID":"f4e3e896e982746d97bb23e724ee1b9c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f031ad50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:05Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcac7978b-6289-469f-ba55-78d62bd28eef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a4b64be-dd2a-43d0-b5c8-f7649e80b104","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693325.995017} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.035551,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f031ad50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f031ad50-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f031ad50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef 200 10ms","method":"GET","requestID":"f031ad50-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"f4e3e896e982746d97bb23e724ee1b9c","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4e3e896e982746d97bb23e724ee1b9c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f0368f50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ae67c78-7bdb-461b-9ed2-b51cbada89e9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.0286937} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.909668,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f0368f50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f0368f50-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f0368f50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling 200 14ms","method":"POST","requestID":"f0368f50-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f0392760-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8067ce38-1269-4366-a508-fe1dc72ba9d0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.0450573} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.094251,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f0392760-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f0392760-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f0392760-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling 200 14ms","method":"POST","requestID":"f0392760-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4","level":"info","message":"auth send jwt","requestID":"f4f2f7b3076934a5b755a96d1ec175b0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4f2f7b3076934a5b755a96d1ec175b0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/886809d1-2529-4cba-aeac-b0e5b22622ba","requestID":"f4f2f7b3076934a5b755a96d1ec175b0"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.31229,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4f2f7b3076934a5b755a96d1ec175b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693326,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4f2f7b3076934a5b755a96d1ec175b0","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/886809d1-2529-4cba-aeac-b0e5b22622ba","requestID":"f4f2f7b3076934a5b755a96d1ec175b0"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/886809d1-2529-4cba-aeac-b0e5b22622ba HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4f2f7b3076934a5b755a96d1ec175b0"} experiment-1 | {"level":"info","message":"GET /experiments/886809d1-2529-4cba-aeac-b0e5b22622ba 200 16ms","method":"GET","requestID":"f4f2f7b3076934a5b755a96d1ec175b0","responseTime":16,"status":200,"url":"/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4","level":"info","message":"auth send jwt","requestID":"20c83710aa49af035d7fdf3165ec36a0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"20c83710aa49af035d7fdf3165ec36a0","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/886809d1-2529-4cba-aeac-b0e5b22622ba","requestID":"20c83710aa49af035d7fdf3165ec36a0"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.41689,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"20c83710aa49af035d7fdf3165ec36a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693326,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"20c83710aa49af035d7fdf3165ec36a0","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Attempting to finish experiment","requestID":"20c83710aa49af035d7fdf3165ec36a0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f043aeb0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.566346,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f043aeb0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693326,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f043aeb0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef","device":"1f0dabff-762e-46d9-981b-800033db84e9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"44aa978b-ee93-4247-816f-01bffc4df328","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cac7978b-6289-469f-ba55-78d62bd28eef","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcac7978b-6289-469f-ba55-78d62bd28eef': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcac7978b-6289-469f-ba55-78d62bd28eef","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"9d38e309-8760-4873-abed-dcb490c65929","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.134826} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"99e68b86e59d1eaa5172e6b1d9c32f74","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"99e68b86e59d1eaa5172e6b1d9c32f74","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b9b72bd-fd40-439b-87e8-16c047e94950","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.1353147} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bef9db3921ccc465d6a2f54338d2e905","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef"}}},"level":"info","message":"received a callback","requestID":"99e68b86e59d1eaa5172e6b1d9c32f74"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bef9db3921ccc465d6a2f54338d2e905","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"f043aeb0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef"}}},"level":"info","message":"received a callback","requestID":"bef9db3921ccc465d6a2f54338d2e905"} device-1 | {"data":{"peerconnection":"cac7978b-6289-469f-ba55-78d62bd28eef","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f043aeb0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef 204 62ms","method":"DELETE","requestID":"f043aeb0-e324-11ef-a766-ff4094b4009c","responseTime":62,"status":204,"url":"/peerconnections/cac7978b-6289-469f-ba55-78d62bd28eef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"},"level":"info","message":"Successfully finished experiment","requestID":"20c83710aa49af035d7fdf3165ec36a0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f050ce10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44aa978b-ee93-4247-816f-01bffc4df328","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b99c969-94fa-4f05-8d89-377863fffac3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.201168} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.460889,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f050ce10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f050ce10-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f050ce10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling 200 16ms","method":"POST","requestID":"f050ce10-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/44aa978b-ee93-4247-816f-01bffc4df328/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F886809d1-2529-4cba-aeac-b0e5b22622ba': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F886809d1-2529-4cba-aeac-b0e5b22622ba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"0a1e22af-28e8-4fb6-8a07-7cfa35266043","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.210099} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6d60c36-673d-4290-b5c6-7132e5b9ce9c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.2104719} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f053b440-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"20c83710aa49af035d7fdf3165ec36a0","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f0dabff-762e-46d9-981b-800033db84e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33f57a63-742f-48ff-bf96-93499e0f3f0d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.2193646} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.134257,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f053b440-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f053b440-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f053b440-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling 200 14ms","method":"POST","requestID":"f053b440-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/1f0dabff-762e-46d9-981b-800033db84e9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/886809d1-2529-4cba-aeac-b0e5b22622ba","requestID":"20c83710aa49af035d7fdf3165ec36a0"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/886809d1-2529-4cba-aeac-b0e5b22622ba HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20c83710aa49af035d7fdf3165ec36a0"} experiment-1 | {"level":"info","message":"DELETE /experiments/886809d1-2529-4cba-aeac-b0e5b22622ba 204 203ms","method":"DELETE","requestID":"20c83710aa49af035d7fdf3165ec36a0","responseTime":203,"status":204,"url":"/experiments/886809d1-2529-4cba-aeac-b0e5b22622ba"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"4.319","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"c815be71708eccfd12af56dd668309aa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 160ms","method":"POST","requestID":"99e68b86e59d1eaa5172e6b1d9c32f74","responseTime":160,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"99e68b86e59d1eaa5172e6b1d9c32f74"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 159ms","method":"POST","requestID":"bef9db3921ccc465d6a2f54338d2e905","responseTime":159,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch","requestID":"bef9db3921ccc465d6a2f54338d2e905"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4","level":"info","message":"auth send jwt","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.806","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"151b560c2ac8306dfa709db0e60c5e1e"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.918985,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/44aa978b-ee93-4247-816f-01bffc4df328' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693326,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1f0dabff-762e-46d9-981b-800033db84e9' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"36daf629-12a7-49ce-a993-3a38eb31f68d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.3206387} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8c74469-c2da-452f-9b97-62301c8892b3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.32497} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"2087466e-5b1b-4dfa-82e5-7740bdee3408","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.3343816} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca822436-6e6c-4127-816b-55ccc1552e11","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.3345683} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.334340669Z"}]},"request_id":"b783c0a0-7f72-49fa-bc93-d1c0ea9792af","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.3388054} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"f71ea94fd76ed14aef7c9c8e7b5977fc","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4","level":"info","message":"auth send jwt","requestID":"55916a7c94dd3ad24a73cd491b6621f9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"55916a7c94dd3ad24a73cd491b6621f9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"55916a7c94dd3ad24a73cd491b6621f9"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.913432,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"55916a7c94dd3ad24a73cd491b6621f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693326,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"55916a7c94dd3ad24a73cd491b6621f9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"afc057d3-a7ad-40d5-a1c3-b1848a640275","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.3621442} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"55916a7c94dd3ad24a73cd491b6621f9","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5140a7de-15e6-4695-811a-a4c68a2377f3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.366629} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"55916a7c94dd3ad24a73cd491b6621f9","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"82b2179c-ef22-45c3-922a-e86e50a1a76c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.3796408} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52f7a576-57f9-414c-8407-85d2dd80fe12","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.3803792} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"55916a7c94dd3ad24a73cd491b6621f9","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.379606326Z"}]},"request_id":"9b054f7b-168a-40f5-bc7a-1aaa887ff078","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.3841846} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"55916a7c94dd3ad24a73cd491b6621f9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"55916a7c94dd3ad24a73cd491b6621f9"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"55916a7c94dd3ad24a73cd491b6621f9"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"55916a7c94dd3ad24a73cd491b6621f9","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4","level":"info","message":"auth send jwt","requestID":"63b4f182fb41aaf31786e72d9156f4d8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"63b4f182fb41aaf31786e72d9156f4d8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"63b4f182fb41aaf31786e72d9156f4d8"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.137914,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"63b4f182fb41aaf31786e72d9156f4d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693326,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"63b4f182fb41aaf31786e72d9156f4d8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.379606326Z"}]},"request_id":"419ac795-1ea5-41c4-b297-20aa7cd3cebf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.855244} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"63b4f182fb41aaf31786e72d9156f4d8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae663161-a93c-44a1-ab60-a5f9243c5467","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.8619454} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"63b4f182fb41aaf31786e72d9156f4d8","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.379606326Z"}]},"request_id":"e931d16d-f181-4f28-8f90-acd8060a6cdd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693326.889073} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"63b4f182fb41aaf31786e72d9156f4d8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"63b4f182fb41aaf31786e72d9156f4d8"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"63b4f182fb41aaf31786e72d9156f4d8"} device-1 | {"level":"info","message":"PATCH /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e 200 50ms","method":"PATCH","requestID":"63b4f182fb41aaf31786e72d9156f4d8","responseTime":50,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4","level":"info","message":"auth send jwt","requestID":"6a1ceff12b496ec0ab5a1a2395175013"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6a1ceff12b496ec0ab5a1a2395175013","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6a1ceff12b496ec0ab5a1a2395175013"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.217658,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6a1ceff12b496ec0ab5a1a2395175013","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693326,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyNn0.FHVal7q795TrErEY1ZPR4r2I8TOBQFVmtJRMLc2IZH4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6a1ceff12b496ec0ab5a1a2395175013","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6a1ceff12b496ec0ab5a1a2395175013"} gateway-1 | {"time_local":"04/Feb/2025:18:22:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"6a1ceff12b496ec0ab5a1a2395175013"} device-1 | {"level":"info","message":"POST /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/websocket 200 21ms","method":"POST","requestID":"6a1ceff12b496ec0ab5a1a2395175013","responseTime":21,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1ceec18033d8bda156211f9693c2cf30","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1ceec18033d8bda156211f9693c2cf30","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:22:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1ceec18033d8bda156211f9693c2cf30"} device-1 | {"level":"info","message":"OPTIONS /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/websocket 200 1ms","method":"OPTIONS","requestID":"1ceec18033d8bda156211f9693c2cf30","responseTime":1,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk","level":"info","message":"auth send jwt","requestID":"c90bdaebb71059101c689cde01a052cb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c90bdaebb71059101c689cde01a052cb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c90bdaebb71059101c689cde01a052cb"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.219966,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c90bdaebb71059101c689cde01a052cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c90bdaebb71059101c689cde01a052cb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c90bdaebb71059101c689cde01a052cb"} device-1 | {"level":"info","message":"POST /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/websocket 200 39ms","method":"POST","requestID":"c90bdaebb71059101c689cde01a052cb","responseTime":39,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:22:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c90bdaebb71059101c689cde01a052cb"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk","level":"info","message":"auth send jwt","requestID":"a205d9438674a4a4a7b9eb0f79421ac1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a205d9438674a4a4a7b9eb0f79421ac1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a205d9438674a4a4a7b9eb0f79421ac1"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200816,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a205d9438674a4a4a7b9eb0f79421ac1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a205d9438674a4a4a7b9eb0f79421ac1","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.334340669Z"}]},"request_id":"c8e4f1f5-acad-41a9-bcb6-00e6ddd5d593","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.495357} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a205d9438674a4a4a7b9eb0f79421ac1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a205d9438674a4a4a7b9eb0f79421ac1"} device-1 | {"level":"info","message":"GET /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd? 200 17ms","method":"GET","requestID":"a205d9438674a4a4a7b9eb0f79421ac1","responseTime":17,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a205d9438674a4a4a7b9eb0f79421ac1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk","level":"info","message":"auth send jwt","requestID":"45433129dfad46ad13250e85806439d5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45433129dfad46ad13250e85806439d5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"45433129dfad46ad13250e85806439d5"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128459,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"45433129dfad46ad13250e85806439d5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"45433129dfad46ad13250e85806439d5","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.379606326Z"}]},"request_id":"69fc2b06-3397-4fea-b87b-6f31a2b5d102","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.5189366} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"45433129dfad46ad13250e85806439d5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"45433129dfad46ad13250e85806439d5"} device-1 | {"level":"info","message":"GET /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e? 200 14ms","method":"GET","requestID":"45433129dfad46ad13250e85806439d5","responseTime":14,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45433129dfad46ad13250e85806439d5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk","level":"info","message":"auth send jwt","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e9d858ca81b9681a33bcaed85c0d2146","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.354895,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e9d858ca81b9681a33bcaed85c0d2146","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e9d858ca81b9681a33bcaed85c0d2146","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Attempting to run experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Attempting to book experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Successfully booked experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f1bd7d70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f1bda480-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611181,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1bd7d70-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f1bd7d70-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850552,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1bda480-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f1bda480-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.334340669Z"}]},"request_id":"691fd3f8-a7bc-459e-bb42-9436d7535c4d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.591216} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f1bd7d70-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.379606326Z"}]},"request_id":"35ffce46-d774-462f-8dd8-c472b76fe282","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.5921865} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f1bda480-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f1bd7d70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd? 200 12ms","method":"GET","requestID":"f1bd7d70-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f1bda480-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e? 200 12ms","method":"GET","requestID":"f1bda480-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Setting up experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Successfully set up experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f1c879f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f1c8ef20-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1c93d40-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Successfully running experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764284,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1c879f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f1c879f0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.766054,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1c8ef20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"f1c8ef20-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a02db61-7975-43a6-b66c-7a35dd5b78ff","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.6697166} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.614438,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1c93d40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f1c93d40-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.334340669Z"}]},"request_id":"817db915-4e1d-4559-9e6e-6aceacae0e8f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.671846} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f1c879f0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.379606326Z"}]},"request_id":"acf5ed73-4a37-43e5-a123-3737aec61e97","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.674031} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1c93d40-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling 200 15ms","method":"POST","requestID":"f1c93d40-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f1c8ef20-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1cc4a80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2aadd142-9c09-4605-96ff-a7bb67a33a31#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2aadd142-9c09-4605-96ff-a7bb67a33a31","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"1c39b76f-8bc5-4c03-b3fc-b584812b0457","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.6805706} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"295dd257-ddc4-45b3-bc6e-5847d5d32c58","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.6811156} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f1c879f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd? 200 28ms","method":"GET","requestID":"f1c879f0-e324-11ef-a766-ff4094b4009c","responseTime":28,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f1c8ef20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e? 200 26ms","method":"GET","requestID":"f1c8ef20-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"e9d858ca81b9681a33bcaed85c0d2146","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc5af98e-b138-43fb-a52f-05aea5893b2e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.686144} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1cd34e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.664613,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1cc4a80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f1cc4a80-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1cc4a80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling 200 13ms","method":"POST","requestID":"f1cc4a80-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc100309-0049-414f-be76-de70b22f0222","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.6937826} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.723797,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1cd34e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f1cd34e0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} gateway-1 | {"time_local":"04/Feb/2025:18:22:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"level":"info","message":"POST /experiments? 201 167ms","method":"POST","requestID":"e9d858ca81b9681a33bcaed85c0d2146","responseTime":167,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1cd34e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling 200 12ms","method":"POST","requestID":"f1cd34e0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1cfa5e0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk","level":"info","message":"auth send jwt","requestID":"759193004914c6a31a2ec72e39631947"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"759193004914c6a31a2ec72e39631947","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"759193004914c6a31a2ec72e39631947"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18df2d45-6ee6-461b-935a-04368e0b75fb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.7073874} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.355364,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1cfa5e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f1cfa5e0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919696,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"759193004914c6a31a2ec72e39631947","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"759193004914c6a31a2ec72e39631947","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1cfa5e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling 200 11ms","method":"POST","requestID":"f1cfa5e0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.334340669Z"}]},"request_id":"9dcc6625-5ad6-4f61-a0ac-8536dc2d7eb9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.7140765} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Building connection plan","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"759193004914c6a31a2ec72e39631947","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"d582a1c0-5302-4a15-a747-e5c433944591"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"8c8372b0-8136-474b-a3c0-fd51eaf4e611"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ca55c163-8a93-48d1-a133-afd46dddc07f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"759193004914c6a31a2ec72e39631947"} gateway-1 | {"time_local":"04/Feb/2025:18:22:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"759193004914c6a31a2ec72e39631947"} device-1 | {"level":"info","message":"GET /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd? 200 15ms","method":"GET","requestID":"759193004914c6a31a2ec72e39631947","responseTime":15,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd?"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.778243,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk","level":"info","message":"auth send jwt","requestID":"97ef3410bae243d571864da78153baf2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"97ef3410bae243d571864da78153baf2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97ef3410bae243d571864da78153baf2"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.994199,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"97ef3410bae243d571864da78153baf2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693328,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMyOH0.47fYUvLnrcLVzyrGhTvWaZoSCGvrB9PjO0qo2cvwJDk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"97ef3410bae243d571864da78153baf2","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"70636ac5-9eec-408f-bb22-0b62346a0904","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.7323618} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47cd0029-550d-464d-9951-86d83b569fa6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.7325885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:06.379606326Z"}]},"request_id":"5c80ff0f-1334-4cb0-a5d6-4d1948e5d2e1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.7335176} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"97ef3410bae243d571864da78153baf2","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97ef3410bae243d571864da78153baf2"} gateway-1 | {"time_local":"04/Feb/2025:18:22:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97ef3410bae243d571864da78153baf2"} device-1 | {"level":"info","message":"GET /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e? 200 14ms","method":"GET","requestID":"97ef3410bae243d571864da78153baf2","responseTime":14,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a'","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a'","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 52ms","method":"POST","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c","responseTime":52,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f1d1c8c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a","device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e9d858ca81b9681a33bcaed85c0d2146"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1df3640-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c9bb90c-1730-490c-857d-69e073087417","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.8097997} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.9438,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1df3640-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f1df3640-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1df3640-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling 200 11ms","method":"POST","requestID":"f1df3640-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f1e13210-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f94c636e-5789-48d3-97df-4ed9bc6aa4a9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693328.821154} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.228004,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f1e13210-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f1e13210-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f1e13210-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling 200 7ms","method":"POST","requestID":"f1e13210-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling"} device-1 | {"device":"715fa07f-51e4-4c75-aaa3-5b48ecbf511e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"47a0598c-2eb9-4f54-aae3-9793e230090a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 7570700872184330158 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:5Pbw\r\na=ice-pwd:alsFFVI09A3Fz2vZYatgsRf8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2B:EE:6D:80:E6:48:2F:7C:EC:22:2A:6E:8D:A8:76:AF:6B:65:95:B1:75:A7:A0:4A:CA:59:5E:56:97:7A:1B:42\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:511459282 1 udp 2113937151 05be7676-385a-482a-9d4a-d0a074588498.local 47734 typ host generation 0 ufrag 5Pbw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"715fa07f-51e4-4c75-aaa3-5b48ecbf511e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"715fa07f-51e4-4c75-aaa3-5b48ecbf511e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"715fa07f-51e4-4c75-aaa3-5b48ecbf511e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"content":{"candidate":"candidate:2589021613 1 udp 1677729535 141.24.211.56 47734 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 5Pbw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0fcb51c6fed3715b9911feb336fbe94d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"47a0598c-2eb9-4f54-aae3-9793e230090a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0fcb51c6fed3715b9911feb336fbe94d","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd'"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a"}}},"level":"info","message":"received a callback","requestID":"0fcb51c6fed3715b9911feb336fbe94d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"0fcb51c6fed3715b9911feb336fbe94d","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"0fcb51c6fed3715b9911feb336fbe94d"} device-1 | {"data":{"peerconnection":"47a0598c-2eb9-4f54-aae3-9793e230090a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"715fa07f-51e4-4c75-aaa3-5b48ecbf511e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"715fa07f-51e4-4c75-aaa3-5b48ecbf511e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"47a0598c-2eb9-4f54-aae3-9793e230090a","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"47a0598c-2eb9-4f54-aae3-9793e230090a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"39854a47b75bfbaf1d039fd640a0ec5d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"39854a47b75bfbaf1d039fd640a0ec5d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a"}}},"level":"info","message":"received a callback","requestID":"39854a47b75bfbaf1d039fd640a0ec5d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f3294270-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:10Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47a0598c-2eb9-4f54-aae3-9793e230090a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bf93fd3-4229-4ea2-9da2-025903b42090","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693330.9740045} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.156343,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f3294270-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f3294270-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f3294270-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a 200 14ms","method":"GET","requestID":"f3294270-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"39854a47b75bfbaf1d039fd640a0ec5d","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"39854a47b75bfbaf1d039fd640a0ec5d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f32fab10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b26bd50-1789-4463-8c7a-02186e032e95","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.017293} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.891906,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f32fab10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f32fab10-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f32fab10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling 200 14ms","method":"POST","requestID":"f32fab10-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f3321c10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"365c25de-9ece-48df-8d65-f6c2478f4c76","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.030515} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.811887,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f3321c10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f3321c10-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f3321c10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling 200 12ms","method":"POST","requestID":"f3321c10-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY","level":"info","message":"auth send jwt","requestID":"3374273d8b1268512872a81a2efd3a41"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3374273d8b1268512872a81a2efd3a41","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31","requestID":"3374273d8b1268512872a81a2efd3a41"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.670448,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3374273d8b1268512872a81a2efd3a41","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693331,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3374273d8b1268512872a81a2efd3a41","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31","requestID":"3374273d8b1268512872a81a2efd3a41"} experiment-1 | {"level":"info","message":"GET /experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31 200 20ms","method":"GET","requestID":"3374273d8b1268512872a81a2efd3a41","responseTime":20,"status":200,"url":"/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3374273d8b1268512872a81a2efd3a41"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY","level":"info","message":"auth send jwt","requestID":"77612ce65dc201f415ab42fef8c5dc4b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"77612ce65dc201f415ab42fef8c5dc4b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31","requestID":"77612ce65dc201f415ab42fef8c5dc4b"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.167103,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"77612ce65dc201f415ab42fef8c5dc4b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693331,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"77612ce65dc201f415ab42fef8c5dc4b","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Attempting to finish experiment","requestID":"77612ce65dc201f415ab42fef8c5dc4b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f33e7820-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.218708,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f33e7820-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693331,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f33e7820-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a","device":"8094c50b-0d4f-4356-9932-e15eaa9662fd","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"715fa07f-51e4-4c75-aaa3-5b48ecbf511e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"715fa07f-51e4-4c75-aaa3-5b48ecbf511e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"715fa07f-51e4-4c75-aaa3-5b48ecbf511e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"47a0598c-2eb9-4f54-aae3-9793e230090a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47a0598c-2eb9-4f54-aae3-9793e230090a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47a0598c-2eb9-4f54-aae3-9793e230090a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"70956856-a4c9-43ec-b16c-9cf42d9b5d5d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.130397} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4e9ca9b4ab26178d0e49bca7d2a45e8a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a587032-04e6-4444-afa2-534c2dd6af6e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.131212} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4e9ca9b4ab26178d0e49bca7d2a45e8a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"f33e7820-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a"}}},"level":"info","message":"received a callback","requestID":"4e9ca9b4ab26178d0e49bca7d2a45e8a"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4d570e039eddd5562b681241de307fef","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4d570e039eddd5562b681241de307fef","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a"}}},"level":"info","message":"received a callback","requestID":"4d570e039eddd5562b681241de307fef"} device-1 | {"data":{"peerconnection":"47a0598c-2eb9-4f54-aae3-9793e230090a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f33e7820-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a 204 44ms","method":"DELETE","requestID":"f33e7820-e324-11ef-a766-ff4094b4009c","responseTime":44,"status":204,"url":"/peerconnections/47a0598c-2eb9-4f54-aae3-9793e230090a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"},"level":"info","message":"Successfully finished experiment","requestID":"77612ce65dc201f415ab42fef8c5dc4b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f34974a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8094c50b-0d4f-4356-9932-e15eaa9662fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65bea17d-368d-49a1-b684-a245ff45c2db","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.1846266} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.130568,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f34974a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f34974a0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f34974a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling 200 13ms","method":"POST","requestID":"f34974a0-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2aadd142-9c09-4605-96ff-a7bb67a33a31': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2aadd142-9c09-4605-96ff-a7bb67a33a31","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"499ffdd8-e272-4a96-a1ba-14b8a64976ec","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.194161} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f34be5a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"787b0910-8455-4a4a-a0be-894a698ea92b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.1945367} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"77612ce65dc201f415ab42fef8c5dc4b","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F715fa07f-51e4-4c75-aaa3-5b48ecbf511e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a138899-6941-490d-959e-f114e43bbea8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.2017539} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.95321,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f34be5a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f34be5a0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f34be5a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling 200 14ms","method":"POST","requestID":"f34be5a0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31","requestID":"77612ce65dc201f415ab42fef8c5dc4b"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77612ce65dc201f415ab42fef8c5dc4b"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2798","request_time":"4.339","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"06c9e1b8a7b9342041b9013c757389ce"} experiment-1 | {"level":"info","message":"DELETE /experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31 204 175ms","method":"DELETE","requestID":"77612ce65dc201f415ab42fef8c5dc4b","responseTime":175,"status":204,"url":"/experiments/2aadd142-9c09-4605-96ff-a7bb67a33a31"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY","level":"info","message":"auth send jwt","requestID":"dc61b86f0f8baf6514e2181194b1be94"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc61b86f0f8baf6514e2181194b1be94","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dc61b86f0f8baf6514e2181194b1be94"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"4e9ca9b4ab26178d0e49bca7d2a45e8a","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"4e9ca9b4ab26178d0e49bca7d2a45e8a"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.813","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2e48614830c6126b6cd1f734760ade50"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"4d570e039eddd5562b681241de307fef","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d570e039eddd5562b681241de307fef"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/715fa07f-51e4-4c75-aaa3-5b48ecbf511e' closed"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.843941,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"dc61b86f0f8baf6514e2181194b1be94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693331,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc61b86f0f8baf6514e2181194b1be94","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8094c50b-0d4f-4356-9932-e15eaa9662fd' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"62ba6d42-0236-4306-8a68-05205e96006a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.2949288} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dc61b86f0f8baf6514e2181194b1be94","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a8c8ece-6e97-42e8-ad01-5dc116e757c3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.2993972} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"dc61b86f0f8baf6514e2181194b1be94","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"a2ed9065-4f6f-4550-8b1a-166a32e66976","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.3129442} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a24ab9d6-4bf8-450b-8540-ce11f20fa383","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.3131936} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"dc61b86f0f8baf6514e2181194b1be94","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.312915213Z"}]},"request_id":"b40384ea-59b1-4224-bb12-64392be89d88","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.3173246} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dc61b86f0f8baf6514e2181194b1be94","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dc61b86f0f8baf6514e2181194b1be94"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc61b86f0f8baf6514e2181194b1be94"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"dc61b86f0f8baf6514e2181194b1be94","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY","level":"info","message":"auth send jwt","requestID":"bcc1c275b24e2a55a99979a0524eaf72"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bcc1c275b24e2a55a99979a0524eaf72","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bcc1c275b24e2a55a99979a0524eaf72"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.297804,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bcc1c275b24e2a55a99979a0524eaf72","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693331,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bcc1c275b24e2a55a99979a0524eaf72","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"11ef0397-3d37-4c19-a117-b3cd53cbfaf5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.3396347} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bcc1c275b24e2a55a99979a0524eaf72","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad154cbd-db3c-4079-8dd3-66a2c261c24a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.3443823} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bcc1c275b24e2a55a99979a0524eaf72","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"f1275f58-2231-4672-a4f8-00d730c34637","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.3529575} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f1ba0d9-0a7c-42c2-945d-b398f544da2a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.3530724} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"bcc1c275b24e2a55a99979a0524eaf72","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.352923071Z"}]},"request_id":"34c146ca-03f6-4633-9656-dad5a7899fb4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.3575327} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bcc1c275b24e2a55a99979a0524eaf72","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bcc1c275b24e2a55a99979a0524eaf72"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcc1c275b24e2a55a99979a0524eaf72"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"bcc1c275b24e2a55a99979a0524eaf72","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY","level":"info","message":"auth send jwt","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.129046,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693331,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.312915213Z"}]},"request_id":"38a0efe3-adc8-4a0f-9321-acbca4dcfedd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.8306894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b46c2a6-7404-434c-8156-c6a8c68cfaa6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.8351383} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.312915213Z"}]},"request_id":"c4331ddc-570a-48f1-8e09-795c85e58e8c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693331.847129} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc"} device-1 | {"level":"info","message":"PATCH /devices/93819c43-b661-49ad-9d5a-e55717193705 200 30ms","method":"PATCH","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc","responseTime":30,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/93819c43-b661-49ad-9d5a-e55717193705 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"ba6f2eba7cd3c7e51e8d79148d8f61dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY","level":"info","message":"auth send jwt","requestID":"f8e1d17125db1425b4ffef05a1f65eb5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8e1d17125db1425b4ffef05a1f65eb5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f8e1d17125db1425b4ffef05a1f65eb5"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.289593,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f8e1d17125db1425b4ffef05a1f65eb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693331,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzMX0.MAoNON9IzzunqGN3S92IK2-OfAgBlTzCmFbAX2mORmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f8e1d17125db1425b4ffef05a1f65eb5","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f8e1d17125db1425b4ffef05a1f65eb5"} gateway-1 | {"time_local":"04/Feb/2025:18:22:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/93819c43-b661-49ad-9d5a-e55717193705/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"f8e1d17125db1425b4ffef05a1f65eb5"} device-1 | {"level":"info","message":"POST /devices/93819c43-b661-49ad-9d5a-e55717193705/websocket 200 22ms","method":"POST","requestID":"f8e1d17125db1425b4ffef05a1f65eb5","responseTime":22,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed4e22ec12643e571a53025f1660f5b6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ed4e22ec12643e571a53025f1660f5b6","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/websocket 200 1ms","method":"OPTIONS","requestID":"ed4e22ec12643e571a53025f1660f5b6","responseTime":1,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:22:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ed4e22ec12643e571a53025f1660f5b6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M","level":"info","message":"auth send jwt","requestID":"95ae883910a14fb1842e32d26029e2a9"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"95ae883910a14fb1842e32d26029e2a9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"95ae883910a14fb1842e32d26029e2a9"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202176,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"95ae883910a14fb1842e32d26029e2a9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95ae883910a14fb1842e32d26029e2a9","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"95ae883910a14fb1842e32d26029e2a9"} gateway-1 | {"time_local":"04/Feb/2025:18:22:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"95ae883910a14fb1842e32d26029e2a9"} device-1 | {"level":"info","message":"POST /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/websocket 200 20ms","method":"POST","requestID":"95ae883910a14fb1842e32d26029e2a9","responseTime":20,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M","level":"info","message":"auth send jwt","requestID":"1a91d345e93f5204c58be7763c2ea51e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1a91d345e93f5204c58be7763c2ea51e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1a91d345e93f5204c58be7763c2ea51e"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.42812,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1a91d345e93f5204c58be7763c2ea51e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1a91d345e93f5204c58be7763c2ea51e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.312915213Z"}]},"request_id":"0426a804-9c08-4323-bf3c-321fba1f3c9b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.440634} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1a91d345e93f5204c58be7763c2ea51e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1a91d345e93f5204c58be7763c2ea51e"} gateway-1 | {"time_local":"04/Feb/2025:18:22:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93819c43-b661-49ad-9d5a-e55717193705? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a91d345e93f5204c58be7763c2ea51e"} device-1 | {"level":"info","message":"GET /devices/93819c43-b661-49ad-9d5a-e55717193705? 200 20ms","method":"GET","requestID":"1a91d345e93f5204c58be7763c2ea51e","responseTime":20,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M","level":"info","message":"auth send jwt","requestID":"627c637fef4a00387fa0c48fc6ed196c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"627c637fef4a00387fa0c48fc6ed196c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"627c637fef4a00387fa0c48fc6ed196c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.268339,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"627c637fef4a00387fa0c48fc6ed196c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"627c637fef4a00387fa0c48fc6ed196c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.352923071Z"}]},"request_id":"df4108e9-6d1a-4252-abfa-4654757ab69f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.4679668} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"627c637fef4a00387fa0c48fc6ed196c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"627c637fef4a00387fa0c48fc6ed196c"} device-1 | {"level":"info","message":"GET /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274? 200 17ms","method":"GET","requestID":"627c637fef4a00387fa0c48fc6ed196c","responseTime":17,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"627c637fef4a00387fa0c48fc6ed196c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M","level":"info","message":"auth send jwt","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3dfa397b939cdcbad5d8bed601d5437b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.202787,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3dfa397b939cdcbad5d8bed601d5437b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3dfa397b939cdcbad5d8bed601d5437b","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Attempting to run experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Attempting to book experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Successfully booked experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4aef810-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4af4630-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127716,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4aef810-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4aef810-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.363508,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4af4630-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4af4630-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.312915213Z"}]},"request_id":"15074d85-a25d-4e3a-8222-458c6e182f87","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.5329347} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f4aef810-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.352923071Z"}]},"request_id":"b1fc1521-e1e2-4135-ba4c-6b1c9e9259b9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.534376} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f4af4630-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4aef810-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/93819c43-b661-49ad-9d5a-e55717193705? 200 19ms","method":"GET","requestID":"f4aef810-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4af4630-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274? 200 18ms","method":"GET","requestID":"f4af4630-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Setting up experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Successfully set up experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4b86df0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f4b8bc10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4b90a30-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908428,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Successfully running experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4b86df0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f4b86df0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.667568,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4b8bc10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"f4b8bc10-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.055578,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbc11ba1-67d4-4288-a893-4dcb0dc21dd1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.5976737} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4b90a30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"f4b90a30-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.352923071Z"}]},"request_id":"06ed0549-3dbf-4fff-b217-cc3b188abd35","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.603453} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"f4b8bc10-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.312915213Z"}]},"request_id":"8756f02d-c1bc-470d-b281-27ea7d93b459","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.6073005} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f4b86df0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4b90a30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/93819c43-b661-49ad-9d5a-e55717193705/signaling 200 23ms","method":"POST","requestID":"f4b90a30-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4b8bc10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274? 200 29ms","method":"GET","requestID":"f4b8bc10-e324-11ef-a766-ff4094b4009c","responseTime":29,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3993a4b-0515-4dbe-aff4-6e50ac2506ac","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.6148398} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4bd4ff0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ef701cc-31c4-46c9-8bab-f735845be670#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ef701cc-31c4-46c9-8bab-f735845be670","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"ce0723ab-4275-41d3-9963-7c74b19f5d32","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.6166728} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f4b86df0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/93819c43-b661-49ad-9d5a-e55717193705? 200 35ms","method":"GET","requestID":"f4b86df0-e324-11ef-a766-ff4094b4009c","responseTime":35,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"3dfa397b939cdcbad5d8bed601d5437b","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3d05b97-731f-4fa1-b35d-c65ed802817c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.6219218} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4be3a50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.019724,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4bd4ff0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f4bd4ff0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4bd4ff0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling 200 14ms","method":"POST","requestID":"f4bd4ff0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"640f810d-5da0-45b0-8166-5119af702465","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.631804} gateway-1 | {"time_local":"04/Feb/2025:18:22:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 151ms","method":"POST","requestID":"3dfa397b939cdcbad5d8bed601d5437b","responseTime":151,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.068731,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4be3a50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"f4be3a50-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M","level":"info","message":"auth send jwt","requestID":"5847111dee8da8f531a3ddb9c6dcfccf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5847111dee8da8f531a3ddb9c6dcfccf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4be3a50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/93819c43-b661-49ad-9d5a-e55717193705/signaling 200 17ms","method":"POST","requestID":"f4be3a50-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5847111dee8da8f531a3ddb9c6dcfccf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4c12080-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837091,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5847111dee8da8f531a3ddb9c6dcfccf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5847111dee8da8f531a3ddb9c6dcfccf","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"acb7e26e-d80e-47f0-a965-3bc68c22680c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.645243} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.025419,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4c12080-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f4c12080-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.312915213Z"}]},"request_id":"7d03ecd3-9a9f-42da-a8de-5c20072905a7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.6479642} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5847111dee8da8f531a3ddb9c6dcfccf","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4c12080-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling 200 11ms","method":"POST","requestID":"f4c12080-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5847111dee8da8f531a3ddb9c6dcfccf"} gateway-1 | {"time_local":"04/Feb/2025:18:22:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93819c43-b661-49ad-9d5a-e55717193705? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5847111dee8da8f531a3ddb9c6dcfccf"} device-1 | {"level":"info","message":"GET /devices/93819c43-b661-49ad-9d5a-e55717193705? 200 14ms","method":"GET","requestID":"5847111dee8da8f531a3ddb9c6dcfccf","responseTime":14,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Building connection plan","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"3aee8414-6df4-4a49-979f-bdc01ba678c6"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"ee227a50-31fc-4e67-a017-bf53794e4904"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"875fd6d7-3f1d-473b-ba1a-589d2faacd7a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M","level":"info","message":"auth send jwt","requestID":"69ed1c4fe83bf4c0dc919bd2794d40d9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"69ed1c4fe83bf4c0dc919bd2794d40d9","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"69ed1c4fe83bf4c0dc919bd2794d40d9"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.857784,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.735789,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"69ed1c4fe83bf4c0dc919bd2794d40d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693333,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzM30.5S1MSiJKQUyoBeJgSd0NP0cv2jLkugjj6ou8itBDx4M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69ed1c4fe83bf4c0dc919bd2794d40d9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:11.352923071Z"}]},"request_id":"d2fb1f0a-5a29-411c-bf46-3435d7f68d79","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.6674483} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69ed1c4fe83bf4c0dc919bd2794d40d9","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"35b69826-51ec-4f3e-9a2c-971b53f31f4a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.6710918} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"69ed1c4fe83bf4c0dc919bd2794d40d9"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7aea49ed-ba33-4bd2-8f5a-b404a9ce1104","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.6713088} gateway-1 | {"time_local":"04/Feb/2025:18:22:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69ed1c4fe83bf4c0dc919bd2794d40d9"} device-1 | {"level":"info","message":"GET /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274? 200 14ms","method":"GET","requestID":"69ed1c4fe83bf4c0dc919bd2794d40d9","responseTime":14,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624'","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624'","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f4c36a70-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624","device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3dfa397b939cdcbad5d8bed601d5437b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4cc9230-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} device-1 | {"device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d64abc24-4519-4cf3-861c-aec774dd6020","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.7203069} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.554887,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4cc9230-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4cc9230-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4cc9230-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/93819c43-b661-49ad-9d5a-e55717193705/signaling 200 9ms","method":"POST","requestID":"f4cc9230-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f4ce18d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3186ab8b-3981-420a-83a8-09e8539f80e3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693333.7294738} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.246953,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f4ce18d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f4ce18d0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f4ce18d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling 200 8ms","method":"POST","requestID":"f4ce18d0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling"} device-1 | {"device":"93819c43-b661-49ad-9d5a-e55717193705","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"ed4062c0-a6be-4ee5-bc83-b46eceda4624","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6626823406475008513 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:UkCd\r\na=ice-pwd:yGQjXdrUXSrCEbE2PMJNfguw\r\na=ice-options:trickle\r\na=fingerprint:sha-256 3A:8B:7B:91:4F:39:15:A4:8D:3E:B1:0F:73:8D:13:9A:41:8E:82:1E:23:E9:3B:16:E1:A6:BA:FA:8F:FF:B4:D5\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:34218902 1 udp 2113937151 2931309a-af9f-48e1-9af8-e93c73c7ba4f.local 39420 typ host generation 0 ufrag UkCd network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"93819c43-b661-49ad-9d5a-e55717193705","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93819c43-b661-49ad-9d5a-e55717193705","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93819c43-b661-49ad-9d5a-e55717193705","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"content":{"candidate":"candidate:2250721769 1 udp 1677729535 141.24.211.56 39420 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag UkCd network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ed4062c0-a6be-4ee5-bc83-b46eceda4624","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274'"} device-1 | {"device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2db6f1af04f2c0df4cc78501720d91a9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2db6f1af04f2c0df4cc78501720d91a9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624"}}},"level":"info","message":"received a callback","requestID":"2db6f1af04f2c0df4cc78501720d91a9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"2db6f1af04f2c0df4cc78501720d91a9","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"2db6f1af04f2c0df4cc78501720d91a9"} device-1 | {"data":{"peerconnection":"ed4062c0-a6be-4ee5-bc83-b46eceda4624","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"93819c43-b661-49ad-9d5a-e55717193705","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"93819c43-b661-49ad-9d5a-e55717193705","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"ed4062c0-a6be-4ee5-bc83-b46eceda4624","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ed4062c0-a6be-4ee5-bc83-b46eceda4624","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"79c5a67268312edde3a00d8014db4e34","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"79c5a67268312edde3a00d8014db4e34","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624"}}},"level":"info","message":"received a callback","requestID":"79c5a67268312edde3a00d8014db4e34"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f60bc8f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fed4062c0-a6be-4ee5-bc83-b46eceda4624","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6099383-7f9c-478b-b370-5fdfa7d7210b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693335.812862} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.725617,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f60bc8f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f60bc8f0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f60bc8f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624 200 11ms","method":"GET","requestID":"f60bc8f0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"79c5a67268312edde3a00d8014db4e34","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"79c5a67268312edde3a00d8014db4e34"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6105cd0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c3c9ce5-e252-4f20-a72d-0687eacf45e8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693335.8426833} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.184206,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f6105cd0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f6105cd0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6105cd0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling 200 11ms","method":"POST","requestID":"f6105cd0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f6127fb0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f51fcb26-b850-4912-bea4-a50815e91a77","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693335.8569283} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.262221,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f6127fb0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f6127fb0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f6127fb0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/93819c43-b661-49ad-9d5a-e55717193705/signaling 200 12ms","method":"POST","requestID":"f6127fb0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNX0.2in6HLLo_kS3cebtAxFPbtkBL2JcLATBfKeKR2fKXIQ","level":"info","message":"auth send jwt","requestID":"109fc74d604b7e2c9e591822c2a857af"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"109fc74d604b7e2c9e591822c2a857af","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4ef701cc-31c4-46c9-8bab-f735845be670","requestID":"109fc74d604b7e2c9e591822c2a857af"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.291792,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"109fc74d604b7e2c9e591822c2a857af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693335,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNX0.2in6HLLo_kS3cebtAxFPbtkBL2JcLATBfKeKR2fKXIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"109fc74d604b7e2c9e591822c2a857af","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4ef701cc-31c4-46c9-8bab-f735845be670","requestID":"109fc74d604b7e2c9e591822c2a857af"} gateway-1 | {"time_local":"04/Feb/2025:18:22:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4ef701cc-31c4-46c9-8bab-f735845be670 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"109fc74d604b7e2c9e591822c2a857af"} experiment-1 | {"level":"info","message":"GET /experiments/4ef701cc-31c4-46c9-8bab-f735845be670 200 18ms","method":"GET","requestID":"109fc74d604b7e2c9e591822c2a857af","responseTime":18,"status":200,"url":"/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNX0.2in6HLLo_kS3cebtAxFPbtkBL2JcLATBfKeKR2fKXIQ","level":"info","message":"auth send jwt","requestID":"102c404ef69fdb79fb3f56f538f8e8c8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"102c404ef69fdb79fb3f56f538f8e8c8","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4ef701cc-31c4-46c9-8bab-f735845be670","requestID":"102c404ef69fdb79fb3f56f538f8e8c8"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.565773,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"102c404ef69fdb79fb3f56f538f8e8c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693335,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNX0.2in6HLLo_kS3cebtAxFPbtkBL2JcLATBfKeKR2fKXIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"102c404ef69fdb79fb3f56f538f8e8c8","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Attempting to finish experiment","requestID":"102c404ef69fdb79fb3f56f538f8e8c8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f6206260-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.2775,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f6206260-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693335,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNX0.2in6HLLo_kS3cebtAxFPbtkBL2JcLATBfKeKR2fKXIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6206260-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624","device":"f8afc988-65ca-48c8-a707-cf4c8d9d6274","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"93819c43-b661-49ad-9d5a-e55717193705","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93819c43-b661-49ad-9d5a-e55717193705","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"93819c43-b661-49ad-9d5a-e55717193705","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ed4062c0-a6be-4ee5-bc83-b46eceda4624","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fed4062c0-a6be-4ee5-bc83-b46eceda4624': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fed4062c0-a6be-4ee5-bc83-b46eceda4624","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"68dab5c4-ff15-41ca-a82d-b9a0a71b0549","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693335.9653556} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0acc6be0-f429-4241-87fe-c540e386cfec","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693335.9658413} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"f6206260-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"14c76eff43d36f3f3bc195346d218cc4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"14c76eff43d36f3f3bc195346d218cc4","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7e4ab46fb26d4f61c57bd32142c9540a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624"}}},"level":"info","message":"received a callback","requestID":"14c76eff43d36f3f3bc195346d218cc4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e4ab46fb26d4f61c57bd32142c9540a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624"}}},"level":"info","message":"received a callback","requestID":"7e4ab46fb26d4f61c57bd32142c9540a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f6206260-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624 204 36ms","method":"DELETE","requestID":"f6206260-e324-11ef-a766-ff4094b4009c","responseTime":36,"status":204,"url":"/peerconnections/ed4062c0-a6be-4ee5-bc83-b46eceda4624"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"},"level":"info","message":"Successfully finished experiment","requestID":"102c404ef69fdb79fb3f56f538f8e8c8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f628c6d0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8afc988-65ca-48c8-a707-cf4c8d9d6274","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c28e00ab-bca5-4cc5-96f0-303effad1bd2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.0049078} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.207991,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f628c6d0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f628c6d0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f628c6d0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling 200 14ms","method":"POST","requestID":"f628c6d0-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ef701cc-31c4-46c9-8bab-f735845be670': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4ef701cc-31c4-46c9-8bab-f735845be670","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"09069db2-ffd6-4552-acb3-b3b63386dc32","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.0130367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11a632e7-1383-475b-af4e-597afa8ed7b2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.013534} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f62b5ee0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"102c404ef69fdb79fb3f56f538f8e8c8","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93819c43-b661-49ad-9d5a-e55717193705","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8e9127b-cd62-4a3b-afb1-af564fc009ce","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.0205965} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.832406,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f62b5ee0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f62b5ee0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f62b5ee0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/93819c43-b661-49ad-9d5a-e55717193705/signaling 200 12ms","method":"POST","requestID":"f62b5ee0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/93819c43-b661-49ad-9d5a-e55717193705/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4ef701cc-31c4-46c9-8bab-f735845be670","requestID":"102c404ef69fdb79fb3f56f538f8e8c8"} gateway-1 | {"time_local":"04/Feb/2025:18:22:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4ef701cc-31c4-46c9-8bab-f735845be670 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"102c404ef69fdb79fb3f56f538f8e8c8"} experiment-1 | {"level":"info","message":"DELETE /experiments/4ef701cc-31c4-46c9-8bab-f735845be670 204 152ms","method":"DELETE","requestID":"102c404ef69fdb79fb3f56f538f8e8c8","responseTime":152,"status":204,"url":"/experiments/4ef701cc-31c4-46c9-8bab-f735845be670"} gateway-1 | {"time_local":"04/Feb/2025:18:22:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2799","request_time":"4.198","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"1dee0838e271e51d17b94c3fe1f09f9e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"14c76eff43d36f3f3bc195346d218cc4","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.112","http_referrer":"","http_user_agent":"node-fetch","requestID":"14c76eff43d36f3f3bc195346d218cc4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"7e4ab46fb26d4f61c57bd32142c9540a","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"7e4ab46fb26d4f61c57bd32142c9540a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNn0.C2GnE3Fra3SQcovV1Reoc4HoeqMp7G6C4msBBtbkMIo","level":"info","message":"auth send jwt","requestID":"327a69679943d451fc0926d6c7ec07c7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"327a69679943d451fc0926d6c7ec07c7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"327a69679943d451fc0926d6c7ec07c7"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.008699,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"327a69679943d451fc0926d6c7ec07c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693336,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNn0.C2GnE3Fra3SQcovV1Reoc4HoeqMp7G6C4msBBtbkMIo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"327a69679943d451fc0926d6c7ec07c7","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"04/Feb/2025:18:22:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.685","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ff679c8642b04d4fdca37c9059a8badb"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/93819c43-b661-49ad-9d5a-e55717193705' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aa60458e-4a72-4128-942e-e6a6716ef413","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.1054726} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"327a69679943d451fc0926d6c7ec07c7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f8afc988-65ca-48c8-a707-cf4c8d9d6274' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99d777e6-3e84-4e00-993b-5274d8ab9f59","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.1106994} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"327a69679943d451fc0926d6c7ec07c7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"03547045-2ab3-43fe-b3e7-f561c9a426e8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.123382} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59ca6a75-4ae9-443e-a053-09232376e844","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.1235545} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"327a69679943d451fc0926d6c7ec07c7","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.123354611Z"}]},"request_id":"8a5f649c-7567-45bd-9297-19fbf3250687","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.127706} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"327a69679943d451fc0926d6c7ec07c7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"327a69679943d451fc0926d6c7ec07c7"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"327a69679943d451fc0926d6c7ec07c7","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"327a69679943d451fc0926d6c7ec07c7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNn0.C2GnE3Fra3SQcovV1Reoc4HoeqMp7G6C4msBBtbkMIo","level":"info","message":"auth send jwt","requestID":"cda6d1431af390b3ff9bf4db93bff09a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cda6d1431af390b3ff9bf4db93bff09a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cda6d1431af390b3ff9bf4db93bff09a"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.756345,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cda6d1431af390b3ff9bf4db93bff09a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693336,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNn0.C2GnE3Fra3SQcovV1Reoc4HoeqMp7G6C4msBBtbkMIo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cda6d1431af390b3ff9bf4db93bff09a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6b56734e-0e18-4f0e-93b5-e6ff0b6ccc5b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.1517866} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cda6d1431af390b3ff9bf4db93bff09a","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"064dd5e1-fbe0-4fc1-8de4-cf6a5a1dd2d3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.1564345} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"cda6d1431af390b3ff9bf4db93bff09a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"620dff45-8464-47a5-b282-7a714b92b534","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.164586} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fe3a1fa-690f-4848-a749-953d036b5750","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.1646981} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"cda6d1431af390b3ff9bf4db93bff09a","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.164561569Z"}]},"request_id":"de0702f3-2034-42a3-9960-8c3b7ffa7571","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.17021} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cda6d1431af390b3ff9bf4db93bff09a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cda6d1431af390b3ff9bf4db93bff09a"} gateway-1 | {"time_local":"04/Feb/2025:18:22:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cda6d1431af390b3ff9bf4db93bff09a"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"cda6d1431af390b3ff9bf4db93bff09a","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNn0.C2GnE3Fra3SQcovV1Reoc4HoeqMp7G6C4msBBtbkMIo","level":"info","message":"auth send jwt","requestID":"2835583b63ff49138e1a9cea074ec9a5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2835583b63ff49138e1a9cea074ec9a5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2835583b63ff49138e1a9cea074ec9a5"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.114351,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2835583b63ff49138e1a9cea074ec9a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693336,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNn0.C2GnE3Fra3SQcovV1Reoc4HoeqMp7G6C4msBBtbkMIo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2835583b63ff49138e1a9cea074ec9a5","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.123354611Z"}]},"request_id":"8ffce842-a70d-4902-b18a-3b8fb412b697","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.634934} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2835583b63ff49138e1a9cea074ec9a5","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7faadfc5-21e9-4d33-b8fd-b27c51aba4b3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.640526} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2835583b63ff49138e1a9cea074ec9a5","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.123354611Z"}]},"request_id":"17e72782-5d31-4dba-a56f-0b5a8a73c7e7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693336.6521485} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2835583b63ff49138e1a9cea074ec9a5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2835583b63ff49138e1a9cea074ec9a5"} gateway-1 | {"time_local":"04/Feb/2025:18:22:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"2835583b63ff49138e1a9cea074ec9a5"} device-1 | {"level":"info","message":"PATCH /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f 200 33ms","method":"PATCH","requestID":"2835583b63ff49138e1a9cea074ec9a5","responseTime":33,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNn0.C2GnE3Fra3SQcovV1Reoc4HoeqMp7G6C4msBBtbkMIo","level":"info","message":"auth send jwt","requestID":"2d7b9d7953a5438e0e33b257fd268611"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2d7b9d7953a5438e0e33b257fd268611","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2d7b9d7953a5438e0e33b257fd268611"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923122,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2d7b9d7953a5438e0e33b257fd268611","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693336,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzNn0.C2GnE3Fra3SQcovV1Reoc4HoeqMp7G6C4msBBtbkMIo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2d7b9d7953a5438e0e33b257fd268611","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2d7b9d7953a5438e0e33b257fd268611"} gateway-1 | {"time_local":"04/Feb/2025:18:22:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"2d7b9d7953a5438e0e33b257fd268611"} device-1 | {"level":"info","message":"POST /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/websocket 200 23ms","method":"POST","requestID":"2d7b9d7953a5438e0e33b257fd268611","responseTime":23,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3449f4abdb670e8918943c9e9a5e6f52","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3449f4abdb670e8918943c9e9a5e6f52","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:22:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6d3207d5-23e4-4060-a008-651a9d667115/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3449f4abdb670e8918943c9e9a5e6f52"} device-1 | {"level":"info","message":"OPTIONS /devices/6d3207d5-23e4-4060-a008-651a9d667115/websocket 200 1ms","method":"OPTIONS","requestID":"3449f4abdb670e8918943c9e9a5e6f52","responseTime":1,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4","level":"info","message":"auth send jwt","requestID":"29afccd29b3c472ff716f9e0fa5bb770"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"29afccd29b3c472ff716f9e0fa5bb770","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"29afccd29b3c472ff716f9e0fa5bb770"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.163211,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"29afccd29b3c472ff716f9e0fa5bb770","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"29afccd29b3c472ff716f9e0fa5bb770","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"29afccd29b3c472ff716f9e0fa5bb770"} gateway-1 | {"time_local":"04/Feb/2025:18:22:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6d3207d5-23e4-4060-a008-651a9d667115/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"29afccd29b3c472ff716f9e0fa5bb770"} device-1 | {"level":"info","message":"POST /devices/6d3207d5-23e4-4060-a008-651a9d667115/websocket 200 19ms","method":"POST","requestID":"29afccd29b3c472ff716f9e0fa5bb770","responseTime":19,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4","level":"info","message":"auth send jwt","requestID":"19a4bd35dc68bed31e8026e578248510"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"19a4bd35dc68bed31e8026e578248510","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"19a4bd35dc68bed31e8026e578248510"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210196,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"19a4bd35dc68bed31e8026e578248510","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"19a4bd35dc68bed31e8026e578248510","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.123354611Z"}]},"request_id":"ba375c80-93a0-4689-b87a-18dd291ba251","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.233868} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"19a4bd35dc68bed31e8026e578248510","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"19a4bd35dc68bed31e8026e578248510"} device-1 | {"level":"info","message":"GET /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f? 200 15ms","method":"GET","requestID":"19a4bd35dc68bed31e8026e578248510","responseTime":15,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19a4bd35dc68bed31e8026e578248510"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4","level":"info","message":"auth send jwt","requestID":"8d938c9d1421a066ed2a639bbc2e560c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8d938c9d1421a066ed2a639bbc2e560c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8d938c9d1421a066ed2a639bbc2e560c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210579,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8d938c9d1421a066ed2a639bbc2e560c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8d938c9d1421a066ed2a639bbc2e560c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.164561569Z"}]},"request_id":"cf4fd96c-fb27-463d-9560-a39d441dd55e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.260522} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8d938c9d1421a066ed2a639bbc2e560c","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8d938c9d1421a066ed2a639bbc2e560c"} device-1 | {"level":"info","message":"GET /devices/6d3207d5-23e4-4060-a008-651a9d667115? 200 19ms","method":"GET","requestID":"8d938c9d1421a066ed2a639bbc2e560c","responseTime":19,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d3207d5-23e4-4060-a008-651a9d667115? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d938c9d1421a066ed2a639bbc2e560c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4","level":"info","message":"auth send jwt","requestID":"514716efdd65f825a23c931e9fb5e2e6"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"514716efdd65f825a23c931e9fb5e2e6","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"514716efdd65f825a23c931e9fb5e2e6"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.576213,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"514716efdd65f825a23c931e9fb5e2e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"514716efdd65f825a23c931e9fb5e2e6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Attempting to run experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Attempting to book experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Successfully booked experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f78b8b20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f78bd940-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.473661,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f78b8b20-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f78b8b20-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190013,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f78bd940-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f78bd940-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.123354611Z"}]},"request_id":"c3153c51-4e97-4d86-b00a-0233c1da3544","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.333654} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f78b8b20-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.164561569Z"}]},"request_id":"fe0c6c54-c629-4a0f-a47f-ce2e5d8df8d4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.3352728} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f78bd940-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f78b8b20-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f? 200 20ms","method":"GET","requestID":"f78b8b20-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f78bd940-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/6d3207d5-23e4-4060-a008-651a9d667115? 200 19ms","method":"GET","requestID":"f78bd940-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Setting up experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Successfully locked booking for experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Attempting to update booking for experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Successfully updated booking for experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Successfully set up experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7977200-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f797c020-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Successfully running experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f7980e40-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.586111,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f7977200-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f7977200-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.028415,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f797c020-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f797c020-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23038b15-b7ff-4628-b57f-07b76bd8e6aa","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.4131186} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.123354611Z"}]},"request_id":"6fd042dd-491c-46c5-9215-5048bc8fcffb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.4141831} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.906615,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f7980e40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"f7980e40-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f7977200-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.164561569Z"}]},"request_id":"a763f7b7-af1c-40c3-9aa7-2633936a2f8f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.4158552} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f797c020-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa1fe8f9b-ab18-40e0-b967-fa4793d53072#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa1fe8f9b-ab18-40e0-b967-fa4793d53072","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"8044c626-b13f-4823-a472-55066d845903","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.420863} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"467438c3-5b53-4cd6-8f37-77cbeef8e610","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.421557} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f7980e40-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling 200 19ms","method":"POST","requestID":"f7980e40-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7977200-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"514716efdd65f825a23c931e9fb5e2e6","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f? 200 24ms","method":"GET","requestID":"f7977200-e324-11ef-a766-ff4094b4009c","responseTime":24,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f797c020-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/6d3207d5-23e4-4060-a008-651a9d667115? 200 23ms","method":"GET","requestID":"f797c020-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f79b69a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50522f96-285b-44aa-bccf-50fb4b288e93","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.4332223} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f79c7b10-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.318603,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f79b69a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f79b69a0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"514716efdd65f825a23c931e9fb5e2e6"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} gateway-1 | {"time_local":"04/Feb/2025:18:22:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 160ms","method":"POST","requestID":"514716efdd65f825a23c931e9fb5e2e6","responseTime":160,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f79b69a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling 200 11ms","method":"POST","requestID":"f79b69a0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83a8cb3f-f408-46c9-bd63-9241b8861f0a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.438163} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.821102,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f79c7b10-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f79c7b10-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4","level":"info","message":"auth send jwt","requestID":"a341a1268938e5209b9b0ee9a2020b30"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a341a1268938e5209b9b0ee9a2020b30","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a341a1268938e5209b9b0ee9a2020b30"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f79c7b10-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling 200 12ms","method":"POST","requestID":"f79c7b10-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702784,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a341a1268938e5209b9b0ee9a2020b30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f79e9df0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a341a1268938e5209b9b0ee9a2020b30","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.123354611Z"}]},"request_id":"a2b948fa-f612-4660-b04b-f60d5c3a3a68","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.4516516} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9df862c-d28e-433e-831b-247046262850","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.4518237} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a341a1268938e5209b9b0ee9a2020b30","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.821295,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f79e9df0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f79e9df0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a341a1268938e5209b9b0ee9a2020b30"} gateway-1 | {"time_local":"04/Feb/2025:18:22:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a341a1268938e5209b9b0ee9a2020b30"} device-1 | {"level":"info","message":"GET /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f? 200 15ms","method":"GET","requestID":"a341a1268938e5209b9b0ee9a2020b30","responseTime":15,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f79e9df0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling 200 12ms","method":"POST","requestID":"f79e9df0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Building connection plan","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"4368d282-41a5-40d2-b9b9-2c5027905032"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"049b1f1f-5615-4b03-b3a8-90952c88779f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"15ca26c7-f289-47e1-bdb9-d1f530f7cb51"}]},"level":"info","message":"Built pairwise service configurations","requestID":"514716efdd65f825a23c931e9fb5e2e6"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"514716efdd65f825a23c931e9fb5e2e6"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4","level":"info","message":"auth send jwt","requestID":"1f077d1aaee50a3dab087a029a3a15c6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1f077d1aaee50a3dab087a029a3a15c6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1f077d1aaee50a3dab087a029a3a15c6"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.103168,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87461,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1f077d1aaee50a3dab087a029a3a15c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693338,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzMzOH0.KMiaD1ehcnzE-202cym3NvW3v8pc1_T4Q4dllKiqQo4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1f077d1aaee50a3dab087a029a3a15c6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:16.164561569Z"}]},"request_id":"520bee64-7e22-4c1b-a0bf-834a69e303d8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.4726279} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1f077d1aaee50a3dab087a029a3a15c6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1f077d1aaee50a3dab087a029a3a15c6"} device-1 | {"level":"info","message":"GET /devices/6d3207d5-23e4-4060-a008-651a9d667115? 200 12ms","method":"GET","requestID":"1f077d1aaee50a3dab087a029a3a15c6","responseTime":12,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d3207d5-23e4-4060-a008-651a9d667115? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f077d1aaee50a3dab087a029a3a15c6"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"3e330a32-91d3-424e-8bf1-6dccbc5db4b4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.476533} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8746c9a8-72fa-45ba-bd77-0e68e11f7c02","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.4767146} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2'","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2'","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 28ms","method":"POST","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f7a0e7e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2","device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"514716efdd65f825a23c931e9fb5e2e6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f7aa5dc0-e324-11ef-a766-ff4094b4009c"} device-1 | {"device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd526915-6b70-4657-a82f-cfa991521a5d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.5293415} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.289031,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f7aa5dc0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f7aa5dc0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 4033713026504842342 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Nalb\r\na=ice-pwd:9NJn8Pk6YHPKXq0N6riSrueO\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9D:90:A2:F6:AE:E5:4A:6C:20:C7:E3:D1:9F:C9:03:87:F8:B5:90:FC:D0:37:6A:B3:1F:DB:65:FC:6E:FD:79:75\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f7aa5dc0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling 200 11ms","method":"POST","requestID":"f7aa5dc0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f7ac5990-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee9e1d4a-6814-4401-a5b7-148434b0f69a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693338.54105} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.287083,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f7ac5990-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f7ac5990-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f7ac5990-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling 200 7ms","method":"POST","requestID":"f7ac5990-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling"} device-1 | {"device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"82f636fe-7f1d-4f8a-9004-d5380452dec2","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"82f636fe-7f1d-4f8a-9004-d5380452dec2","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f63d7851247dc22a45f16fc960251880","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f63d7851247dc22a45f16fc960251880","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2"}}},"level":"info","message":"received a callback","requestID":"f63d7851247dc22a45f16fc960251880"} gateway-1 | {"time_local":"04/Feb/2025:18:22:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"f63d7851247dc22a45f16fc960251880"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"f63d7851247dc22a45f16fc960251880","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"content":{"candidate":"candidate:3188362816 1 udp 2113937151 5abf5a13-3dce-49fc-957d-7084faefcbf8.local 44327 typ host generation 0 ufrag Nalb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:757149523 1 udp 1677729535 141.24.211.56 44327 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag Nalb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2467140769 1 udp 33562623 141.24.210.113 61159 typ relay raddr 141.24.211.56 rport 44327 generation 0 ufrag Nalb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115'"} device-1 | {"device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"82f636fe-7f1d-4f8a-9004-d5380452dec2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"82f636fe-7f1d-4f8a-9004-d5380452dec2","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"82f636fe-7f1d-4f8a-9004-d5380452dec2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b41bed2f908a9bff2242e3a101b02599","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b41bed2f908a9bff2242e3a101b02599","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2"}}},"level":"info","message":"received a callback","requestID":"b41bed2f908a9bff2242e3a101b02599"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"f8ecefe0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F82f636fe-7f1d-4f8a-9004-d5380452dec2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dbc3d735-2e75-48d1-9729-d533020063d1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.642983} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.324876,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f8ecefe0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f8ecefe0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"f8ecefe0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2 200 8ms","method":"GET","requestID":"f8ecefe0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"b41bed2f908a9bff2242e3a101b02599","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"b41bed2f908a9bff2242e3a101b02599"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8f0c070-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c62e31ef-10ef-44c3-8a7a-4587e3cbfe90","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.6689136} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.333164,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f8f0c070-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8f0c070-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8f0c070-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling 200 11ms","method":"POST","requestID":"f8f0c070-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f8f2bc40-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df4d9cd5-09ec-41cc-8270-d1963f0c316b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.681634} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.569159,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f8f2bc40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f8f2bc40-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f8f2bc40-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling 200 11ms","method":"POST","requestID":"f8f2bc40-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MH0.pyWJtwBn6pMQx9S8jiifTUha9aP0QhR3L6rXmFK5nWQ","level":"info","message":"auth send jwt","requestID":"79567c013f760f903f342c1ab7ac202d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"79567c013f760f903f342c1ab7ac202d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072","requestID":"79567c013f760f903f342c1ab7ac202d"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.278921,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"79567c013f760f903f342c1ab7ac202d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693340,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MH0.pyWJtwBn6pMQx9S8jiifTUha9aP0QhR3L6rXmFK5nWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"79567c013f760f903f342c1ab7ac202d","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072","requestID":"79567c013f760f903f342c1ab7ac202d"} experiment-1 | {"level":"info","message":"GET /experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072 200 14ms","method":"GET","requestID":"79567c013f760f903f342c1ab7ac202d","responseTime":14,"status":200,"url":"/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"} gateway-1 | {"time_local":"04/Feb/2025:18:22:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79567c013f760f903f342c1ab7ac202d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MH0.pyWJtwBn6pMQx9S8jiifTUha9aP0QhR3L6rXmFK5nWQ","level":"info","message":"auth send jwt","requestID":"ee6d55ed1e93709a121b404f749ebc64"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ee6d55ed1e93709a121b404f749ebc64","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072","requestID":"ee6d55ed1e93709a121b404f749ebc64"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.191478,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ee6d55ed1e93709a121b404f749ebc64","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693340,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MH0.pyWJtwBn6pMQx9S8jiifTUha9aP0QhR3L6rXmFK5nWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ee6d55ed1e93709a121b404f749ebc64","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Attempting to finish experiment","requestID":"ee6d55ed1e93709a121b404f749ebc64"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"f9009ef0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.431504,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f9009ef0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693340,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MH0.pyWJtwBn6pMQx9S8jiifTUha9aP0QhR3L6rXmFK5nWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f9009ef0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2","device":"6d3207d5-23e4-4060-a008-651a9d667115","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4abfbffd-3943-45f1-ba9d-d2bdaa71674f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"82f636fe-7f1d-4f8a-9004-d5380452dec2","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F82f636fe-7f1d-4f8a-9004-d5380452dec2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F82f636fe-7f1d-4f8a-9004-d5380452dec2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"31ee6b81-32ad-43da-8003-ed57c01ac15a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.790392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc3b7177-ffbe-4def-956a-da1171461a0f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.7908854} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8edabb684ebee29e48a98e0ac806f18c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"f9009ef0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2"}}},"level":"info","message":"received a callback","requestID":"8edabb684ebee29e48a98e0ac806f18c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8edabb684ebee29e48a98e0ac806f18c","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"73693cee52105d1b8e4a1fa2f38600ad","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"73693cee52105d1b8e4a1fa2f38600ad","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2"}}},"level":"info","message":"received a callback","requestID":"73693cee52105d1b8e4a1fa2f38600ad"} device-1 | {"data":{"peerconnection":"82f636fe-7f1d-4f8a-9004-d5380452dec2","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"f9009ef0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2 204 48ms","method":"DELETE","requestID":"f9009ef0-e324-11ef-a766-ff4094b4009c","responseTime":48,"status":204,"url":"/peerconnections/82f636fe-7f1d-4f8a-9004-d5380452dec2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"},"level":"info","message":"Successfully finished experiment","requestID":"ee6d55ed1e93709a121b404f749ebc64"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f90b4d50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abfbffd-3943-45f1-ba9d-d2bdaa71674f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdea5380-f7eb-4f22-ba84-7df134b2ca1c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.8435085} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.936823,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f90b4d50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f90b4d50-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f90b4d50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling 200 12ms","method":"POST","requestID":"f90b4d50-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa1fe8f9b-ab18-40e0-b967-fa4793d53072': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa1fe8f9b-ab18-40e0-b967-fa4793d53072","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"e401e5b5-ac1f-44ed-afa1-0ed404a1b9ab","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.8507423} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"afe89ef4-3599-446a-adb4-097716ec05e4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.851149} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f90d9740-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"ee6d55ed1e93709a121b404f749ebc64","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d3207d5-23e4-4060-a008-651a9d667115","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98bd0488-00db-4078-a357-74a6e4bf898d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.8608582} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.00306,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f90d9740-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f90d9740-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f90d9740-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling 200 14ms","method":"POST","requestID":"f90d9740-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/6d3207d5-23e4-4060-a008-651a9d667115/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072","requestID":"ee6d55ed1e93709a121b404f749ebc64"} gateway-1 | {"time_local":"04/Feb/2025:18:22:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee6d55ed1e93709a121b404f749ebc64"} gateway-1 | {"time_local":"04/Feb/2025:18:22:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3193","request_time":"4.230","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"7353bc176993542d10bdd998beb52b47"} experiment-1 | {"level":"info","message":"DELETE /experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072 204 163ms","method":"DELETE","requestID":"ee6d55ed1e93709a121b404f749ebc64","responseTime":163,"status":204,"url":"/experiments/a1fe8f9b-ab18-40e0-b967-fa4793d53072"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"8edabb684ebee29e48a98e0ac806f18c","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"8edabb684ebee29e48a98e0ac806f18c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"73693cee52105d1b8e4a1fa2f38600ad","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"73693cee52105d1b8e4a1fa2f38600ad"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MH0.pyWJtwBn6pMQx9S8jiifTUha9aP0QhR3L6rXmFK5nWQ","level":"info","message":"auth send jwt","requestID":"b2210fe920f8ac04475b292b470763f9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2210fe920f8ac04475b292b470763f9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b2210fe920f8ac04475b292b470763f9"} gateway-1 | {"time_local":"04/Feb/2025:18:22:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.722","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e57a737d7d90f487418211f5cb061bcb"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.936433,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b2210fe920f8ac04475b292b470763f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693340,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MH0.pyWJtwBn6pMQx9S8jiifTUha9aP0QhR3L6rXmFK5nWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b2210fe920f8ac04475b292b470763f9","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4abfbffd-3943-45f1-ba9d-d2bdaa71674f' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3c94209d-d728-4134-a9c0-6e65345d47e3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.943122} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2210fe920f8ac04475b292b470763f9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6d3207d5-23e4-4060-a008-651a9d667115' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0dd7da7f-37f6-4215-878b-7f4a1d400962","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.9486923} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b2210fe920f8ac04475b292b470763f9","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"1578582f-cbd5-4fd3-ab58-0a20f482873a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.9587975} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a9a7ee7-6786-47a4-89ae-162b8cd861fe","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.95909} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b2210fe920f8ac04475b292b470763f9","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:20.958771975Z"}]},"request_id":"17ba3b54-29ee-4cf9-8dae-e3cd9bd457bf","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.963377} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2210fe920f8ac04475b292b470763f9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b2210fe920f8ac04475b292b470763f9"} gateway-1 | {"time_local":"04/Feb/2025:18:22:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2210fe920f8ac04475b292b470763f9"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"b2210fe920f8ac04475b292b470763f9","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MH0.pyWJtwBn6pMQx9S8jiifTUha9aP0QhR3L6rXmFK5nWQ","level":"info","message":"auth send jwt","requestID":"b591506432c5b644efee44e1e7daf363"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b591506432c5b644efee44e1e7daf363","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b591506432c5b644efee44e1e7daf363"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.714729,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b591506432c5b644efee44e1e7daf363","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693340,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MH0.pyWJtwBn6pMQx9S8jiifTUha9aP0QhR3L6rXmFK5nWQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b591506432c5b644efee44e1e7daf363","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b5609d00-664e-4a8b-89f3-fb6a6da50c70","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.9866486} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b591506432c5b644efee44e1e7daf363","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"122a55d8-3516-4d94-b65c-c6c159786a87","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693340.9910092} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b591506432c5b644efee44e1e7daf363","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"e09635e6-b6c6-4cc8-8fa4-61e3e855e9d5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.0034635} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2996ab10-d8b1-44ea-8466-1526651cb1dd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.0036297} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b591506432c5b644efee44e1e7daf363","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:21.003439385Z"}]},"request_id":"fd387a87-f47e-4b4c-b2d3-2cb8b3945d9a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.0076354} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b591506432c5b644efee44e1e7daf363","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b591506432c5b644efee44e1e7daf363"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b591506432c5b644efee44e1e7daf363"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"b591506432c5b644efee44e1e7daf363","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U","level":"info","message":"auth send jwt","requestID":"5cf7faa158b1606ad82617e714bcdedf"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5cf7faa158b1606ad82617e714bcdedf","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U","level":"info","message":"auth send jwt","requestID":"0a653e78855e78193337d37c9b46d0ed"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5cf7faa158b1606ad82617e714bcdedf"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a653e78855e78193337d37c9b46d0ed","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0a653e78855e78193337d37c9b46d0ed"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690907,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5cf7faa158b1606ad82617e714bcdedf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5cf7faa158b1606ad82617e714bcdedf","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602423,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0a653e78855e78193337d37c9b46d0ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0a653e78855e78193337d37c9b46d0ed","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:20.958771975Z"}]},"request_id":"682142f2-0e0e-450f-a48f-88fb02362d7d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.4689538} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5cf7faa158b1606ad82617e714bcdedf","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:21.003439385Z"}]},"request_id":"7cbf01d8-138c-4890-b68a-9b20191c9693","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.469646} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0a653e78855e78193337d37c9b46d0ed","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc1292a6-262a-4d7c-b801-6b7cfec043e2","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.4730246} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5cf7faa158b1606ad82617e714bcdedf","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"452f4afc-8030-4179-a95b-375db2b84733","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.475049} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0a653e78855e78193337d37c9b46d0ed","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:21.003439385Z"}]},"request_id":"ad58a0ef-9c24-4451-b247-190663cf9f8c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.477893} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0a653e78855e78193337d37c9b46d0ed","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0a653e78855e78193337d37c9b46d0ed"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e924f71c-4466-4769-95d7-2e5c612d870b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"0a653e78855e78193337d37c9b46d0ed"} device-1 | {"level":"info","message":"PATCH /devices/e924f71c-4466-4769-95d7-2e5c612d870b 200 19ms","method":"PATCH","requestID":"0a653e78855e78193337d37c9b46d0ed","responseTime":19,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U","level":"info","message":"auth send jwt","requestID":"bb3c5f7e9c0efa0c9421bb681b23b53f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bb3c5f7e9c0efa0c9421bb681b23b53f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bb3c5f7e9c0efa0c9421bb681b23b53f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:20.958771975Z"}]},"request_id":"4d2eea60-13c4-4910-8ce9-32ff8179971b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.4866517} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5cf7faa158b1606ad82617e714bcdedf","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696087,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5cf7faa158b1606ad82617e714bcdedf"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bb3c5f7e9c0efa0c9421bb681b23b53f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bb3c5f7e9c0efa0c9421bb681b23b53f","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"PATCH /devices/38667ad2-8b56-4f29-a24e-65302ec5e860 200 29ms","method":"PATCH","requestID":"5cf7faa158b1606ad82617e714bcdedf","responseTime":29,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/38667ad2-8b56-4f29-a24e-65302ec5e860 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"5cf7faa158b1606ad82617e714bcdedf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U","level":"info","message":"auth send jwt","requestID":"b3d38586934e9cfdd6193cf53c3b86c2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b3d38586934e9cfdd6193cf53c3b86c2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b3d38586934e9cfdd6193cf53c3b86c2"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609108,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b3d38586934e9cfdd6193cf53c3b86c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b3d38586934e9cfdd6193cf53c3b86c2","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bb3c5f7e9c0efa0c9421bb681b23b53f"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e924f71c-4466-4769-95d7-2e5c612d870b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"bb3c5f7e9c0efa0c9421bb681b23b53f"} device-1 | {"level":"info","message":"POST /devices/e924f71c-4466-4769-95d7-2e5c612d870b/websocket 200 14ms","method":"POST","requestID":"bb3c5f7e9c0efa0c9421bb681b23b53f","responseTime":14,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b3d38586934e9cfdd6193cf53c3b86c2"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/38667ad2-8b56-4f29-a24e-65302ec5e860/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"b3d38586934e9cfdd6193cf53c3b86c2"} device-1 | {"level":"info","message":"POST /devices/38667ad2-8b56-4f29-a24e-65302ec5e860/websocket 200 16ms","method":"POST","requestID":"b3d38586934e9cfdd6193cf53c3b86c2","responseTime":16,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U","level":"info","message":"auth send jwt","requestID":"b856d073ec462c27ba86d76fe7646466"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b856d073ec462c27ba86d76fe7646466","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b856d073ec462c27ba86d76fe7646466"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655037,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"b856d073ec462c27ba86d76fe7646466","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b856d073ec462c27ba86d76fe7646466","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:20.958771975Z"}]},"request_id":"095f038e-57b0-4b37-aad7-08e9d05e204d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.5399044} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b856d073ec462c27ba86d76fe7646466","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b856d073ec462c27ba86d76fe7646466"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38667ad2-8b56-4f29-a24e-65302ec5e860? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b856d073ec462c27ba86d76fe7646466"} device-1 | {"level":"info","message":"GET /devices/38667ad2-8b56-4f29-a24e-65302ec5e860? 200 13ms","method":"GET","requestID":"b856d073ec462c27ba86d76fe7646466","responseTime":13,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U","level":"info","message":"auth send jwt","requestID":"bf0f1f21d883439dac2e147d31e7487a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bf0f1f21d883439dac2e147d31e7487a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bf0f1f21d883439dac2e147d31e7487a"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685595,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"bf0f1f21d883439dac2e147d31e7487a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bf0f1f21d883439dac2e147d31e7487a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:21.003439385Z"}]},"request_id":"de62d3b0-79a9-4ea5-9f67-463291202819","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.556518} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bf0f1f21d883439dac2e147d31e7487a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bf0f1f21d883439dac2e147d31e7487a"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e924f71c-4466-4769-95d7-2e5c612d870b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf0f1f21d883439dac2e147d31e7487a"} device-1 | {"level":"info","message":"GET /devices/e924f71c-4466-4769-95d7-2e5c612d870b? 200 10ms","method":"GET","requestID":"bf0f1f21d883439dac2e147d31e7487a","responseTime":10,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U","level":"info","message":"auth send jwt","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a9ae018ee6682af3de7493b3ce4b03a1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.1417,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a9ae018ee6682af3de7493b3ce4b03a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a9ae018ee6682af3de7493b3ce4b03a1","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Attempting to run experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Attempting to book experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Successfully booked experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f9802f30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f9807d50-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931113,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f9802f30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f9802f30-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750912,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f9807d50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f9807d50-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:20.958771975Z"}]},"request_id":"aaed0ea7-6270-420c-b911-21510bb364b7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.6126204} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f9802f30-e324-11ef-a766-ff4094b4009c","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:21.003439385Z"}]},"request_id":"2e8b1f28-7cc8-40eb-8654-48ed1553c238","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.6134598} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f9807d50-e324-11ef-a766-ff4094b4009c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f9802f30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/38667ad2-8b56-4f29-a24e-65302ec5e860? 200 17ms","method":"GET","requestID":"f9802f30-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f9807d50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/e924f71c-4466-4769-95d7-2e5c612d870b? 200 16ms","method":"GET","requestID":"f9807d50-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Setting up experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Successfully set up experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f98bc7f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f98c1610-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f98cb250-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.377126,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Successfully running experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f98bc7f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f98bc7f0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.155791,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f98c1610-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f98c1610-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.618776,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"761ff15a-1364-4959-905d-4ccea3f53549","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.6907592} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f98cb250-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f98cb250-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:20.958771975Z"}]},"request_id":"c7ea8075-cc63-4528-b4af-87e7c3a40c84","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.6924508} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:21.003439385Z"}]},"request_id":"faef632a-af1d-4b4d-ba2f-bcecbd7ea12d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.6935356} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f98bc7f0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f98c1610-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f98cb250-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling 200 13ms","method":"POST","requestID":"f98cb250-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f98bc7f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/38667ad2-8b56-4f29-a24e-65302ec5e860? 200 20ms","method":"GET","requestID":"f98bc7f0-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f98c1610-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/e924f71c-4466-4769-95d7-2e5c612d870b? 200 18ms","method":"GET","requestID":"f98c1610-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f98f2350-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd417738e-010d-4ab7-9460-b19b3e2263d3#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd417738e-010d-4ab7-9460-b19b3e2263d3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"b938db7d-fec9-405f-b75f-e74837cad0e6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.7019086} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41572694-fe7e-4ee6-a70c-49e7774bcacb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.7021081} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f98f9880-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"a9ae018ee6682af3de7493b3ce4b03a1","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98c015bb-a059-4eed-b4e9-3a84291f4e96","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.7075968} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.446312,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f98f2350-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f98f2350-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bef60610-11e3-41be-a74b-43ee9bbe7590","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.7091806} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.044763,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f98f9880-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f98f9880-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 148ms","method":"POST","requestID":"a9ae018ee6682af3de7493b3ce4b03a1","responseTime":148,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f98f2350-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling 200 12ms","method":"POST","requestID":"f98f2350-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f98f9880-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling 200 10ms","method":"POST","requestID":"f98f9880-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f9916d40-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U","level":"info","message":"auth send jwt","requestID":"e09c06b56a0414ecfef5ea1e96986a19"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e09c06b56a0414ecfef5ea1e96986a19","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e09c06b56a0414ecfef5ea1e96986a19"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.58973,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"e09c06b56a0414ecfef5ea1e96986a19","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e09c06b56a0414ecfef5ea1e96986a19","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a79160ed-afb8-4fea-9823-a2d0adf2c148","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.720965} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.572183,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f9916d40-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f9916d40-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f9916d40-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling 200 10ms","method":"POST","requestID":"f9916d40-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Building connection plan","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"2b73b985-d498-4f56-bfc0-704751ff38b0"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"d0f43037-9043-4ce0-9dbe-4064124928a2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a3cb2122-c81e-4e30-b78f-a58f1dae6e80"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:20.958771975Z"}]},"request_id":"1d4020af-9c00-4b8d-a1a0-57f7172b7122","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.725003} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"e09c06b56a0414ecfef5ea1e96986a19","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"f9936910-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.927983,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e09c06b56a0414ecfef5ea1e96986a19"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38667ad2-8b56-4f29-a24e-65302ec5e860? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e09c06b56a0414ecfef5ea1e96986a19"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f9936910-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} device-1 | {"level":"info","message":"GET /devices/38667ad2-8b56-4f29-a24e-65302ec5e860? 200 17ms","method":"GET","requestID":"e09c06b56a0414ecfef5ea1e96986a19","responseTime":17,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860?"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f9936910-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U","level":"info","message":"auth send jwt","requestID":"1f8d8e36351f33911e2f91d5165ba21a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1f8d8e36351f33911e2f91d5165ba21a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1f8d8e36351f33911e2f91d5165ba21a"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.787286,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1f8d8e36351f33911e2f91d5165ba21a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693341,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0MX0.ywAN3i9pVSFfkrjJEPMbUPo7t5T4lQLPKubOhgY2y1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1f8d8e36351f33911e2f91d5165ba21a","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"63f95af7-18ae-4b12-b213-c57d8b1824d9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.7561789} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49188f12-f624-495c-8800-6c68d00bd8f4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.756368} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"f9936910-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:21.003439385Z"}]},"request_id":"1f484563-10aa-429a-b4bc-01211ace8e96","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.7573607} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"1f8d8e36351f33911e2f91d5165ba21a","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"f9936910-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"f9936910-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807'","requestID":"f9936910-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1f8d8e36351f33911e2f91d5165ba21a"} gateway-1 | {"time_local":"04/Feb/2025:18:22:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e924f71c-4466-4769-95d7-2e5c612d870b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f8d8e36351f33911e2f91d5165ba21a"} device-1 | {"level":"info","message":"GET /devices/e924f71c-4466-4769-95d7-2e5c612d870b? 200 25ms","method":"GET","requestID":"1f8d8e36351f33911e2f91d5165ba21a","responseTime":25,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807'","requestID":"f9936910-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"f9936910-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 40ms","method":"POST","requestID":"f9936910-e324-11ef-a766-ff4094b4009c","responseTime":40,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"f9936910-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a9ae018ee6682af3de7493b3ce4b03a1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f99d0600-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"882c82f5-55b5-48ba-a721-a7237b9fbedd","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.7965345} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36875,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f99d0600-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f99d0600-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f99d0600-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling 200 8ms","method":"POST","requestID":"f99d0600-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"f99e6590-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a00bb51-6f0c-4380-b9d1-39d774d59b83","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693341.8064253} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.212235,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f99e6590-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f99e6590-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"f99e6590-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling 200 9ms","method":"POST","requestID":"f99e6590-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling"} device-1 | {"device":"38667ad2-8b56-4f29-a24e-65302ec5e860","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"8f352b42-1807-47e0-a111-64200e84d807","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"8f352b42-1807-47e0-a111-64200e84d807","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8f352b42-1807-47e0-a111-64200e84d807","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"51c3ee69d0e41f979b32ac018b5fd3d9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"51c3ee69d0e41f979b32ac018b5fd3d9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807"}}},"level":"info","message":"received a callback","requestID":"51c3ee69d0e41f979b32ac018b5fd3d9"} device-1 | {"device":"38667ad2-8b56-4f29-a24e-65302ec5e860","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38667ad2-8b56-4f29-a24e-65302ec5e860","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38667ad2-8b56-4f29-a24e-65302ec5e860","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"51c3ee69d0e41f979b32ac018b5fd3d9","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"51c3ee69d0e41f979b32ac018b5fd3d9"} device-1 | {"data":{"peerconnection":"8f352b42-1807-47e0-a111-64200e84d807","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38667ad2-8b56-4f29-a24e-65302ec5e860","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38667ad2-8b56-4f29-a24e-65302ec5e860","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"8f352b42-1807-47e0-a111-64200e84d807","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8f352b42-1807-47e0-a111-64200e84d807","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5574f152ff8344eb21d98536aa3c0e39","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5574f152ff8344eb21d98536aa3c0e39","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807"}}},"level":"info","message":"received a callback","requestID":"5574f152ff8344eb21d98536aa3c0e39"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"fadbeea0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8f352b42-1807-47e0-a111-64200e84d807","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d2efd5f-defd-4820-b886-84655ab09211","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693343.8877835} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.464661,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fadbeea0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fadbeea0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"fadbeea0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/8f352b42-1807-47e0-a111-64200e84d807 200 9ms","method":"GET","requestID":"fadbeea0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/peerconnections/8f352b42-1807-47e0-a111-64200e84d807"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"5574f152ff8344eb21d98536aa3c0e39","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"5574f152ff8344eb21d98536aa3c0e39"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fae08280-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"315dfbea-ed89-4222-b6e2-945183f32bde","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693343.9179447} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.718277,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fae08280-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fae08280-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fae08280-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling 200 11ms","method":"POST","requestID":"fae08280-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fae2a560-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa389dbc-bbab-49cb-a397-ad99edecb3c0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693343.9318378} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.576374,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fae2a560-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fae2a560-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fae2a560-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling 200 12ms","method":"POST","requestID":"fae2a560-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0M30.AXjX6XCqDznnW9EdCB3NBrRsJyu0R467xdOnk4j2fpE","level":"info","message":"auth send jwt","requestID":"03d625a8531d699f4b59dd7442e1f6b3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03d625a8531d699f4b59dd7442e1f6b3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d417738e-010d-4ab7-9460-b19b3e2263d3","requestID":"03d625a8531d699f4b59dd7442e1f6b3"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.349898,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"03d625a8531d699f4b59dd7442e1f6b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693343,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0M30.AXjX6XCqDznnW9EdCB3NBrRsJyu0R467xdOnk4j2fpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"03d625a8531d699f4b59dd7442e1f6b3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d417738e-010d-4ab7-9460-b19b3e2263d3","requestID":"03d625a8531d699f4b59dd7442e1f6b3"} gateway-1 | {"time_local":"04/Feb/2025:18:22:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d417738e-010d-4ab7-9460-b19b3e2263d3 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03d625a8531d699f4b59dd7442e1f6b3"} experiment-1 | {"level":"info","message":"GET /experiments/d417738e-010d-4ab7-9460-b19b3e2263d3 200 15ms","method":"GET","requestID":"03d625a8531d699f4b59dd7442e1f6b3","responseTime":15,"status":200,"url":"/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0M30.AXjX6XCqDznnW9EdCB3NBrRsJyu0R467xdOnk4j2fpE","level":"info","message":"auth send jwt","requestID":"c405be56ea04f0aef910055f00fa77e6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c405be56ea04f0aef910055f00fa77e6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d417738e-010d-4ab7-9460-b19b3e2263d3","requestID":"c405be56ea04f0aef910055f00fa77e6"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.312865,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c405be56ea04f0aef910055f00fa77e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693343,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0M30.AXjX6XCqDznnW9EdCB3NBrRsJyu0R467xdOnk4j2fpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c405be56ea04f0aef910055f00fa77e6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Attempting to finish experiment","requestID":"c405be56ea04f0aef910055f00fa77e6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"faee6530-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.052053,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"faee6530-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693343,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0M30.AXjX6XCqDznnW9EdCB3NBrRsJyu0R467xdOnk4j2fpE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"faee6530-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e924f71c-4466-4769-95d7-2e5c612d870b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38667ad2-8b56-4f29-a24e-65302ec5e860","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38667ad2-8b56-4f29-a24e-65302ec5e860","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"38667ad2-8b56-4f29-a24e-65302ec5e860","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8f352b42-1807-47e0-a111-64200e84d807","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"16c62efda60569a4b64e55f5c5408292","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"16c62efda60569a4b64e55f5c5408292","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8f352b42-1807-47e0-a111-64200e84d807': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8f352b42-1807-47e0-a111-64200e84d807","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"4a208748-1040-4499-8009-8b12202591e5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.020982} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807"}}},"level":"info","message":"received a callback","requestID":"16c62efda60569a4b64e55f5c5408292"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02429432-6249-4491-bab3-684308853f24","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.0213253} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dab7880ef6165a5a8cd8373dcef3d1a1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dab7880ef6165a5a8cd8373dcef3d1a1","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"faee6530-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8f352b42-1807-47e0-a111-64200e84d807"}}},"level":"info","message":"received a callback","requestID":"dab7880ef6165a5a8cd8373dcef3d1a1"} device-1 | {"data":{"peerconnection":"8f352b42-1807-47e0-a111-64200e84d807","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"faee6530-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/8f352b42-1807-47e0-a111-64200e84d807 204 37ms","method":"DELETE","requestID":"faee6530-e324-11ef-a766-ff4094b4009c","responseTime":37,"status":204,"url":"/peerconnections/8f352b42-1807-47e0-a111-64200e84d807"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"},"level":"info","message":"Successfully finished experiment","requestID":"c405be56ea04f0aef910055f00fa77e6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"faf765e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe924f71c-4466-4769-95d7-2e5c612d870b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d8d276d-23ca-434a-8948-8b5458c87e64","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.0671926} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.4857,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"faf765e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"faf765e0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"faf765e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling 200 11ms","method":"POST","requestID":"faf765e0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/e924f71c-4466-4769-95d7-2e5c612d870b/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd417738e-010d-4ab7-9460-b19b3e2263d3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd417738e-010d-4ab7-9460-b19b3e2263d3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"254eb107-41a1-402d-baa1-7ed2459239a9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.0740287} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2dac4efc-f519-4fdb-8f96-55b4d891bade","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.0742452} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c405be56ea04f0aef910055f00fa77e6","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"faf961b0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38667ad2-8b56-4f29-a24e-65302ec5e860","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f413923-5d36-4d1e-9444-4ac2fa993ce5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.0811667} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.691774,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"faf961b0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"faf961b0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"faf961b0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling 200 12ms","method":"POST","requestID":"faf961b0-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/38667ad2-8b56-4f29-a24e-65302ec5e860/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d417738e-010d-4ab7-9460-b19b3e2263d3","requestID":"c405be56ea04f0aef910055f00fa77e6"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d417738e-010d-4ab7-9460-b19b3e2263d3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c405be56ea04f0aef910055f00fa77e6"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.621","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"08459da108b9948d5272868ec70d2355"} experiment-1 | {"level":"info","message":"DELETE /experiments/d417738e-010d-4ab7-9460-b19b3e2263d3 204 144ms","method":"DELETE","requestID":"c405be56ea04f0aef910055f00fa77e6","responseTime":144,"status":204,"url":"/experiments/d417738e-010d-4ab7-9460-b19b3e2263d3"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.631","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"d201918dc6c2ff2878b41966d6c8d92a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 115ms","method":"POST","requestID":"16c62efda60569a4b64e55f5c5408292","responseTime":115,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"dab7880ef6165a5a8cd8373dcef3d1a1","responseTime":112,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"16c62efda60569a4b64e55f5c5408292"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"dab7880ef6165a5a8cd8373dcef3d1a1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"08bcb6157495ca6e477567b1757473c2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"08bcb6157495ca6e477567b1757473c2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"08bcb6157495ca6e477567b1757473c2"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e924f71c-4466-4769-95d7-2e5c612d870b' closed"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.861996,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"08bcb6157495ca6e477567b1757473c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"08bcb6157495ca6e477567b1757473c2","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/38667ad2-8b56-4f29-a24e-65302ec5e860' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"091766b9-5b6b-44c8-9462-58dfc14ee5c1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.163079} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"08bcb6157495ca6e477567b1757473c2","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8085bf08-2d51-4ca8-af2e-260adc86a8f1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.1689904} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"08bcb6157495ca6e477567b1757473c2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"a1b2d323-5c32-4b4f-b4e3-b6a08666ac7f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.1795099} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32484d61-14aa-4425-a712-28ec801d6e8f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.1796863} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"08bcb6157495ca6e477567b1757473c2","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.179472801Z"}]},"request_id":"35f650e8-46b0-4c82-aef5-a1de24c1daac","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.1844945} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"08bcb6157495ca6e477567b1757473c2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"08bcb6157495ca6e477567b1757473c2"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08bcb6157495ca6e477567b1757473c2"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"08bcb6157495ca6e477567b1757473c2","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"38b3601353ad9533b9966efac3ce1a6b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"38b3601353ad9533b9966efac3ce1a6b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"38b3601353ad9533b9966efac3ce1a6b"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.856103,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"38b3601353ad9533b9966efac3ce1a6b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"38b3601353ad9533b9966efac3ce1a6b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cdd7f706-37ac-4f5d-96db-9f5856b3300b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.2089558} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"38b3601353ad9533b9966efac3ce1a6b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d3c7fdf-1eb8-46ab-b5c6-85350d6f5415","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.213615} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"38b3601353ad9533b9966efac3ce1a6b","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"a5655266-e080-42fd-80c9-407cfd6b7266","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.2239022} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6dc023f7-2df8-48a7-b5d7-ca9c202e470d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.224166} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"38b3601353ad9533b9966efac3ce1a6b","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.223874704Z"}]},"request_id":"3079b471-c9be-4a91-8a54-5f3ee0d3c44f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.228667} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"38b3601353ad9533b9966efac3ce1a6b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"38b3601353ad9533b9966efac3ce1a6b"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38b3601353ad9533b9966efac3ce1a6b"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"38b3601353ad9533b9966efac3ce1a6b","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"52b190aedb84b38b06cb2df326e03b88"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"52b190aedb84b38b06cb2df326e03b88","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"52b190aedb84b38b06cb2df326e03b88"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661399,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"52b190aedb84b38b06cb2df326e03b88","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"52b190aedb84b38b06cb2df326e03b88","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752169,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5bb86a5d6c39fa2c8721aec31a6b5753","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.223874704Z"}]},"request_id":"21703abd-6617-4ba2-a3fc-375f7c19ddab","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.689429} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"52b190aedb84b38b06cb2df326e03b88","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.179472801Z"}]},"request_id":"44240d37-9655-44b0-a48e-d69058321d95","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.6901615} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af011767-48cc-4211-a8bc-e2ff5f1858c5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.6940722} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"52b190aedb84b38b06cb2df326e03b88","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7d28cab-d717-4c58-897c-0ef31e4ab46d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.6962857} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.179472801Z"}]},"request_id":"4533cdba-0cad-4814-a4f2-ab80c4a7fcea","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.6985137} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f7932759-8146-44fb-a37a-4feb0f28d979 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753"} device-1 | {"level":"info","message":"PATCH /devices/f7932759-8146-44fb-a37a-4feb0f28d979 200 20ms","method":"PATCH","requestID":"5bb86a5d6c39fa2c8721aec31a6b5753","responseTime":20,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"044012e7bfe4c1c159eea5584e873bfc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"044012e7bfe4c1c159eea5584e873bfc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"044012e7bfe4c1c159eea5584e873bfc"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.84091,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"044012e7bfe4c1c159eea5584e873bfc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"044012e7bfe4c1c159eea5584e873bfc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.223874704Z"}]},"request_id":"e379b258-f095-4295-a967-ba93d063ed7a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.7100415} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"52b190aedb84b38b06cb2df326e03b88","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"52b190aedb84b38b06cb2df326e03b88"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"52b190aedb84b38b06cb2df326e03b88"} device-1 | {"level":"info","message":"PATCH /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde 200 33ms","method":"PATCH","requestID":"52b190aedb84b38b06cb2df326e03b88","responseTime":33,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"843c4ccfde5c90291a654d1411b85244"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"843c4ccfde5c90291a654d1411b85244","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"843c4ccfde5c90291a654d1411b85244"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.159412,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"843c4ccfde5c90291a654d1411b85244","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"843c4ccfde5c90291a654d1411b85244","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"044012e7bfe4c1c159eea5584e873bfc"} device-1 | {"level":"info","message":"POST /devices/f7932759-8146-44fb-a37a-4feb0f28d979/websocket 200 20ms","method":"POST","requestID":"044012e7bfe4c1c159eea5584e873bfc","responseTime":20,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f7932759-8146-44fb-a37a-4feb0f28d979/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"044012e7bfe4c1c159eea5584e873bfc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"843c4ccfde5c90291a654d1411b85244"} device-1 | {"level":"info","message":"POST /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/websocket 200 16ms","method":"POST","requestID":"843c4ccfde5c90291a654d1411b85244","responseTime":16,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"843c4ccfde5c90291a654d1411b85244"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"121186cccf42c53aa3fcff5bc9fec926"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"121186cccf42c53aa3fcff5bc9fec926","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"121186cccf42c53aa3fcff5bc9fec926"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697082,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"121186cccf42c53aa3fcff5bc9fec926","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"121186cccf42c53aa3fcff5bc9fec926","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.179472801Z"}]},"request_id":"f8b66035-b097-4c19-aae5-6d8f4bf361e4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.7633314} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"121186cccf42c53aa3fcff5bc9fec926","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"121186cccf42c53aa3fcff5bc9fec926"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f7932759-8146-44fb-a37a-4feb0f28d979? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"121186cccf42c53aa3fcff5bc9fec926"} device-1 | {"level":"info","message":"GET /devices/f7932759-8146-44fb-a37a-4feb0f28d979? 200 11ms","method":"GET","requestID":"121186cccf42c53aa3fcff5bc9fec926","responseTime":11,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"f7be7dd0d45e91aaf97358d8747024c3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f7be7dd0d45e91aaf97358d8747024c3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7be7dd0d45e91aaf97358d8747024c3"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.00599,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f7be7dd0d45e91aaf97358d8747024c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f7be7dd0d45e91aaf97358d8747024c3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.223874704Z"}]},"request_id":"a8351066-eb4e-4483-bec8-1302f023d55c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.779281} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f7be7dd0d45e91aaf97358d8747024c3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7be7dd0d45e91aaf97358d8747024c3"} device-1 | {"level":"info","message":"GET /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde? 200 11ms","method":"GET","requestID":"f7be7dd0d45e91aaf97358d8747024c3","responseTime":11,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7be7dd0d45e91aaf97358d8747024c3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"8053832b3f212f10457f36f77c789bf3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8053832b3f212f10457f36f77c789bf3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"8053832b3f212f10457f36f77c789bf3"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.905196,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"8053832b3f212f10457f36f77c789bf3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8053832b3f212f10457f36f77c789bf3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Attempting to run experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Attempting to book experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Successfully booked experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb6b8470-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb6bab80-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682398,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb6b8470-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fb6b8470-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.522236,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb6bab80-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb6bab80-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.179472801Z"}]},"request_id":"3589da8b-1dc5-4296-96f8-20229f5375b4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.831412} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fb6b8470-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.223874704Z"}]},"request_id":"c2c72589-b5c5-4a16-b8f7-5e48501c377b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.832678} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fb6bab80-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb6b8470-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/f7932759-8146-44fb-a37a-4feb0f28d979? 200 13ms","method":"GET","requestID":"fb6b8470-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb6bab80-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde? 200 12ms","method":"GET","requestID":"fb6bab80-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Setting up experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Successfully locked booking for experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Attempting to update booking for experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Successfully updated booking for experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Successfully set up experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb74ac30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb74d340-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb74fa50-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Successfully running experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744716,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb74ac30-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fb74ac30-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725955,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb74d340-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"fb74d340-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"703d0a79-5844-4c86-b6aa-410807ce98b8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.89303} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.515437,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb74fa50-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"fb74fa50-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.179472801Z"}]},"request_id":"5f66215f-7dec-4540-8782-7fb2ec5582c1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.8964434} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fb74ac30-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.223874704Z"}]},"request_id":"cd274012-999a-4b08-b165-e87cdd0065e3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.899224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fb74d340-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb74fa50-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling 200 16ms","method":"POST","requestID":"fb74fa50-e324-11ef-a766-ff4094b4009c","responseTime":16,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb780790-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb74ac30-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/f7932759-8146-44fb-a37a-4feb0f28d979? 200 25ms","method":"GET","requestID":"fb74ac30-e324-11ef-a766-ff4094b4009c","responseTime":25,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb74d340-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F54e07df6-d8f5-403c-95c9-60c9c0ccf0ea#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"8e17c549-8575-4b7e-8c88-2d0c4c1f4d87","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.907424} device-1 | {"level":"info","message":"GET /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde? 200 26ms","method":"GET","requestID":"fb74d340-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"741314e9-b103-4b32-b072-8d0a319a9a6c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.9080749} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"8053832b3f212f10457f36f77c789bf3","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd3348a8-7c79-442c-9504-391f2df2b3ca","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.9131827} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb794010-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.848335,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb780790-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"fb780790-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb780790-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling 200 15ms","method":"POST","requestID":"fb780790-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f23cbc4-4814-465b-96cd-d9ab91d4fafb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.921313} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.885359,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"8053832b3f212f10457f36f77c789bf3"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb794010-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 136ms","method":"POST","requestID":"8053832b3f212f10457f36f77c789bf3","responseTime":136,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8053832b3f212f10457f36f77c789bf3"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fb794010-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb794010-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling 200 13ms","method":"POST","requestID":"fb794010-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"c3df382fd6e5b02a72aa676cf52d54c0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c3df382fd6e5b02a72aa676cf52d54c0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb7b8a00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3df382fd6e5b02a72aa676cf52d54c0"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f1a26df-63c1-470e-89d6-772b6da16d4a","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.9340217} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.105969,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"c3df382fd6e5b02a72aa676cf52d54c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c3df382fd6e5b02a72aa676cf52d54c0","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.547984,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb7b8a00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"fb7b8a00-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.179472801Z"}]},"request_id":"2bb4cd50-c29f-4914-ac92-fce4b89e4dd6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.939741} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb7b8a00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling 200 12ms","method":"POST","requestID":"fb7b8a00-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c3df382fd6e5b02a72aa676cf52d54c0","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Building connection plan","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"c495f2d1-033e-48f0-ba5d-6e01a914d3fd"},{"config":{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device2","serviceId":"electrical","uuid":"94b31a77-18e5-4c12-b97f-f513e38d0040"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a6a976ec-678c-476f-9895-57bd2cab8939"}]},"level":"info","message":"Built pairwise service configurations","requestID":"8053832b3f212f10457f36f77c789bf3"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"8053832b3f212f10457f36f77c789bf3"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3df382fd6e5b02a72aa676cf52d54c0"} device-1 | {"level":"info","message":"GET /devices/f7932759-8146-44fb-a37a-4feb0f28d979? 200 13ms","method":"GET","requestID":"c3df382fd6e5b02a72aa676cf52d54c0","responseTime":13,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979?"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f7932759-8146-44fb-a37a-4feb0f28d979? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3df382fd6e5b02a72aa676cf52d54c0"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.832952,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4","level":"info","message":"auth send jwt","requestID":"1372f4fab5e4bc862cb31edb40aabf03"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1372f4fab5e4bc862cb31edb40aabf03","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1372f4fab5e4bc862cb31edb40aabf03"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983045,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"1372f4fab5e4bc862cb31edb40aabf03","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693344,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0NH0.qPBb-9XW-Dn_0lmzTkVGcYO_qtXYeIxOoix2zyIxaq4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1372f4fab5e4bc862cb31edb40aabf03","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"412632f0-c1eb-4ad5-bf20-b26c59d602cc","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.9559112} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"905587f8-9b34-4a31-82df-2cd969253214","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.9560938} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:24.223874704Z"}]},"request_id":"7a6cff48-b202-437e-9d81-b24945e296d0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.9596233} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1372f4fab5e4bc862cb31edb40aabf03","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883'","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883'","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1372f4fab5e4bc862cb31edb40aabf03"} gateway-1 | {"time_local":"04/Feb/2025:18:22:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1372f4fab5e4bc862cb31edb40aabf03"} device-1 | {"level":"info","message":"GET /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde? 200 18ms","method":"GET","requestID":"1372f4fab5e4bc862cb31edb40aabf03","responseTime":18,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"fb7dd3f0-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"8053832b3f212f10457f36f77c789bf3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb857510-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66ed09c2-71f8-4319-8f09-1d8904d611ad","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693344.997073} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.30383,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb857510-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fb857510-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb857510-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling 200 8ms","method":"POST","requestID":"fb857510-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fb86d4a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:25Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f13b8909-f841-43da-a7d3-b524f0cf2f6f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693345.007532} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.091385,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fb86d4a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb86d4a0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fb86d4a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling 200 9ms","method":"POST","requestID":"fb86d4a0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling"} device-1 | {"device":"f7932759-8146-44fb-a37a-4feb0f28d979","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"160c12d0-4ca7-46cb-a396-251ea706c883","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"160c12d0-4ca7-46cb-a396-251ea706c883","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"160c12d0-4ca7-46cb-a396-251ea706c883","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"69a3475413af7dddecac5797772c81d6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"69a3475413af7dddecac5797772c81d6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883"}}},"level":"info","message":"received a callback","requestID":"69a3475413af7dddecac5797772c81d6"} device-1 | {"device":"f7932759-8146-44fb-a37a-4feb0f28d979","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f7932759-8146-44fb-a37a-4feb0f28d979","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f7932759-8146-44fb-a37a-4feb0f28d979","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"69a3475413af7dddecac5797772c81d6","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"69a3475413af7dddecac5797772c81d6"} device-1 | {"data":{"peerconnection":"160c12d0-4ca7-46cb-a396-251ea706c883","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f7932759-8146-44fb-a37a-4feb0f28d979","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f7932759-8146-44fb-a37a-4feb0f28d979","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"160c12d0-4ca7-46cb-a396-251ea706c883","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"160c12d0-4ca7-46cb-a396-251ea706c883","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"86c983569f8e3e5c6797a6a034ef4dc7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"86c983569f8e3e5c6797a6a034ef4dc7","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883"}}},"level":"info","message":"received a callback","requestID":"86c983569f8e3e5c6797a6a034ef4dc7"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"fcc63270-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F160c12d0-4ca7-46cb-a396-251ea706c883","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4dd6107-667c-48fa-b763-56d38a01d5da","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.1012874} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.775915,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fcc63270-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"fcc63270-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"fcc63270-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883 200 12ms","method":"GET","requestID":"fcc63270-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"86c983569f8e3e5c6797a6a034ef4dc7","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"86c983569f8e3e5c6797a6a034ef4dc7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fccb6290-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af1e4820-a424-439e-9a90-c9045d84342e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.1347911} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.232591,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fccb6290-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"fccb6290-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fccb6290-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling 200 12ms","method":"POST","requestID":"fccb6290-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fccd8570-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"787812d1-61bb-45cd-9618-04ef20223fa4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.1495209} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.064199,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fccd8570-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"fccd8570-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fccd8570-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling 200 13ms","method":"POST","requestID":"fccd8570-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0N30._SOWHUIUGlMHQ3b2SjrN8ZN8wYOt9bGYdsAXbYbOUbk","level":"info","message":"auth send jwt","requestID":"aa8c6f0994654768bc37a714347fe73a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aa8c6f0994654768bc37a714347fe73a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","requestID":"aa8c6f0994654768bc37a714347fe73a"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.889614,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"aa8c6f0994654768bc37a714347fe73a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693347,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0N30._SOWHUIUGlMHQ3b2SjrN8ZN8wYOt9bGYdsAXbYbOUbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"aa8c6f0994654768bc37a714347fe73a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","requestID":"aa8c6f0994654768bc37a714347fe73a"} experiment-1 | {"level":"info","message":"GET /experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea 200 15ms","method":"GET","requestID":"aa8c6f0994654768bc37a714347fe73a","responseTime":15,"status":200,"url":"/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa8c6f0994654768bc37a714347fe73a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0N30._SOWHUIUGlMHQ3b2SjrN8ZN8wYOt9bGYdsAXbYbOUbk","level":"info","message":"auth send jwt","requestID":"964bd9725f8f18db7fc7a82013e10fbd"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"964bd9725f8f18db7fc7a82013e10fbd","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","requestID":"964bd9725f8f18db7fc7a82013e10fbd"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.218152,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"964bd9725f8f18db7fc7a82013e10fbd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693347,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0N30._SOWHUIUGlMHQ3b2SjrN8ZN8wYOt9bGYdsAXbYbOUbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"964bd9725f8f18db7fc7a82013e10fbd","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Attempting to finish experiment","requestID":"964bd9725f8f18db7fc7a82013e10fbd"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"fcd94540-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.386419,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fcd94540-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693347,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0N30._SOWHUIUGlMHQ3b2SjrN8ZN8wYOt9bGYdsAXbYbOUbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fcd94540-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"f7932759-8146-44fb-a37a-4feb0f28d979","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f7932759-8146-44fb-a37a-4feb0f28d979","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f7932759-8146-44fb-a37a-4feb0f28d979","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"160c12d0-4ca7-46cb-a396-251ea706c883","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F160c12d0-4ca7-46cb-a396-251ea706c883': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F160c12d0-4ca7-46cb-a396-251ea706c883","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"8ebc3c18-0235-499b-80d9-dd3618733533","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.2455018} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9ab55a2bba09b6e4bd24d637ad0852ad","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ab55a2bba09b6e4bd24d637ad0852ad","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ef67fb1-5f0e-4b36-bb50-407163a2ae06","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.2460833} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b132358ebd7ac28fdd4d88e334fffbe6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883"}}},"level":"info","message":"received a callback","requestID":"9ab55a2bba09b6e4bd24d637ad0852ad"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"fcd94540-e324-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b132358ebd7ac28fdd4d88e334fffbe6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde"},{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883"}}},"level":"info","message":"received a callback","requestID":"b132358ebd7ac28fdd4d88e334fffbe6"} device-1 | {"data":{"peerconnection":"160c12d0-4ca7-46cb-a396-251ea706c883","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"fcd94540-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883 204 51ms","method":"DELETE","requestID":"fcd94540-e324-11ef-a766-ff4094b4009c","responseTime":51,"status":204,"url":"/peerconnections/160c12d0-4ca7-46cb-a396-251ea706c883"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"},"level":"info","message":"Successfully finished experiment","requestID":"964bd9725f8f18db7fc7a82013e10fbd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fce48fe0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26c3ae4b-3d72-4674-859f-a2f1788f8632","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.3005538} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.251449,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fce48fe0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fce48fe0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fce48fe0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling 200 11ms","method":"POST","requestID":"fce48fe0-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F54e07df6-d8f5-403c-95c9-60c9c0ccf0ea': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"bb842e9b-4497-4b04-9d14-320926ecb6a5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.308072} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b90b5889-0a06-4db7-bae8-8ff38f49bad5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.3084245} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fce6b2c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"964bd9725f8f18db7fc7a82013e10fbd","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7932759-8146-44fb-a37a-4feb0f28d979","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29379f59-4ea1-44c8-9efe-8b54b8d349d1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.3136725} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.309897,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fce6b2c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fce6b2c0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fce6b2c0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling 200 15ms","method":"POST","requestID":"fce6b2c0-e324-11ef-a766-ff4094b4009c","responseTime":15,"status":200,"url":"/devices/f7932759-8146-44fb-a37a-4feb0f28d979/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea","requestID":"964bd9725f8f18db7fc7a82013e10fbd"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"964bd9725f8f18db7fc7a82013e10fbd"} experiment-1 | {"level":"info","message":"DELETE /experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea 204 164ms","method":"DELETE","requestID":"964bd9725f8f18db7fc7a82013e10fbd","responseTime":164,"status":204,"url":"/experiments/54e07df6-d8f5-403c-95c9-60c9c0ccf0ea"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.633","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"762bdd767af9bd09e2426466363a6bbc"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.642","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.11","requestID":"5ca3a8f14ad084936735987355d4c3d7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"9ab55a2bba09b6e4bd24d637ad0852ad","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"9ab55a2bba09b6e4bd24d637ad0852ad"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"b132358ebd7ac28fdd4d88e334fffbe6","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"b132358ebd7ac28fdd4d88e334fffbe6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0N30._SOWHUIUGlMHQ3b2SjrN8ZN8wYOt9bGYdsAXbYbOUbk","level":"info","message":"auth send jwt","requestID":"96d28e1ec9dba2af58350dda29a77a96"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"96d28e1ec9dba2af58350dda29a77a96","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"96d28e1ec9dba2af58350dda29a77a96"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f7932759-8146-44fb-a37a-4feb0f28d979' closed"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.93712,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"96d28e1ec9dba2af58350dda29a77a96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693347,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0N30._SOWHUIUGlMHQ3b2SjrN8ZN8wYOt9bGYdsAXbYbOUbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"96d28e1ec9dba2af58350dda29a77a96","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f5f86a58-2eaf-4cd3-92b4-a3f26aed0dde' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5b9ccdcf-f934-4f45-b580-8364f7b7404e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.3985496} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"96d28e1ec9dba2af58350dda29a77a96","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d376b9e-b711-4aa2-a775-879e6ad26aba","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.4046268} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"96d28e1ec9dba2af58350dda29a77a96","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"89c4d634-d402-4a8b-874f-e9b5c8117ba1","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.4154277} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88950928-abd6-490e-a382-ce96a7410e59","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.415544} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"96d28e1ec9dba2af58350dda29a77a96","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.415384224Z"}]},"request_id":"18ed8923-2890-4e72-95e3-fb3eb95a0a09","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.4201477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"96d28e1ec9dba2af58350dda29a77a96","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"96d28e1ec9dba2af58350dda29a77a96"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96d28e1ec9dba2af58350dda29a77a96"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"96d28e1ec9dba2af58350dda29a77a96","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0N30._SOWHUIUGlMHQ3b2SjrN8ZN8wYOt9bGYdsAXbYbOUbk","level":"info","message":"auth send jwt","requestID":"831202f31b1ce7c9384fbe39b311e6ff"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"831202f31b1ce7c9384fbe39b311e6ff","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"831202f31b1ce7c9384fbe39b311e6ff"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.920631,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"831202f31b1ce7c9384fbe39b311e6ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693347,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0N30._SOWHUIUGlMHQ3b2SjrN8ZN8wYOt9bGYdsAXbYbOUbk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"831202f31b1ce7c9384fbe39b311e6ff","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"46917b2f-06ae-4e9d-bb31-fd80ddd1cb39","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.4445078} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"831202f31b1ce7c9384fbe39b311e6ff","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef77161a-e715-4b9a-a1f1-2acd9a61a9fa","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.4492915} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"831202f31b1ce7c9384fbe39b311e6ff","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"8ad42048-94e8-4dcd-91d9-7a9426f435d9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.4607198} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d20d0c6-63cf-44e6-b1b2-5cd763fcd826","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.4608433} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"831202f31b1ce7c9384fbe39b311e6ff","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.460682144Z"}]},"request_id":"02879442-04f7-412c-a2cf-386580b609ed","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693347.465853} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"831202f31b1ce7c9384fbe39b311e6ff","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"831202f31b1ce7c9384fbe39b311e6ff"} gateway-1 | {"time_local":"04/Feb/2025:18:22:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"831202f31b1ce7c9384fbe39b311e6ff"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"831202f31b1ce7c9384fbe39b311e6ff","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bc4abb5f2c125296326ee3c0ecfaec2f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bc4abb5f2c125296326ee3c0ecfaec2f","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bc4abb5f2c125296326ee3c0ecfaec2f"} device-1 | {"level":"info","message":"OPTIONS /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/websocket 200 1ms","method":"OPTIONS","requestID":"bc4abb5f2c125296326ee3c0ecfaec2f","responseTime":1,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA","level":"info","message":"auth send jwt","requestID":"44b23ee72e1ed9b4045237435cd0d3b3"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"44b23ee72e1ed9b4045237435cd0d3b3","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"44b23ee72e1ed9b4045237435cd0d3b3"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.297112,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"44b23ee72e1ed9b4045237435cd0d3b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"44b23ee72e1ed9b4045237435cd0d3b3","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"890f5fa0a61f26d8811b8f056bf8a82c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"890f5fa0a61f26d8811b8f056bf8a82c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/websocket 200 0ms","method":"OPTIONS","requestID":"890f5fa0a61f26d8811b8f056bf8a82c","responseTime":0,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.003","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"890f5fa0a61f26d8811b8f056bf8a82c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"44b23ee72e1ed9b4045237435cd0d3b3"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"44b23ee72e1ed9b4045237435cd0d3b3"} device-1 | {"level":"info","message":"POST /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/websocket 200 19ms","method":"POST","requestID":"44b23ee72e1ed9b4045237435cd0d3b3","responseTime":19,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA","level":"info","message":"auth send jwt","requestID":"49104c579e7ba29829d8e06dcab7a1f2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"49104c579e7ba29829d8e06dcab7a1f2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"49104c579e7ba29829d8e06dcab7a1f2"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980843,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"49104c579e7ba29829d8e06dcab7a1f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"49104c579e7ba29829d8e06dcab7a1f2","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"49104c579e7ba29829d8e06dcab7a1f2"} device-1 | {"level":"info","message":"POST /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/websocket 200 27ms","method":"POST","requestID":"49104c579e7ba29829d8e06dcab7a1f2","responseTime":27,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"49104c579e7ba29829d8e06dcab7a1f2"} device-1 | {"level":"info","message":"device 'http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA","level":"info","message":"auth send jwt","requestID":"cef153b8efbe919159c9b0e2f2b6738a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cef153b8efbe919159c9b0e2f2b6738a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cef153b8efbe919159c9b0e2f2b6738a"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.34116,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"cef153b8efbe919159c9b0e2f2b6738a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cef153b8efbe919159c9b0e2f2b6738a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.415384224Z"}]},"request_id":"3c5c1f1a-961c-49e7-954f-c287121c825f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.5257142} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cef153b8efbe919159c9b0e2f2b6738a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cef153b8efbe919159c9b0e2f2b6738a"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cef153b8efbe919159c9b0e2f2b6738a"} device-1 | {"level":"info","message":"GET /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba? 200 15ms","method":"GET","requestID":"cef153b8efbe919159c9b0e2f2b6738a","responseTime":15,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA","level":"info","message":"auth send jwt","requestID":"3308f85597ac9e13fa2b167bc7804d92"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3308f85597ac9e13fa2b167bc7804d92","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3308f85597ac9e13fa2b167bc7804d92"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.155017,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"3308f85597ac9e13fa2b167bc7804d92","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3308f85597ac9e13fa2b167bc7804d92","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.460682144Z"}]},"request_id":"bb9ba099-69e8-4adc-807d-95b86a36d372","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.5482726} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3308f85597ac9e13fa2b167bc7804d92","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3308f85597ac9e13fa2b167bc7804d92"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3308f85597ac9e13fa2b167bc7804d92"} device-1 | {"level":"info","message":"GET /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba? 200 13ms","method":"GET","requestID":"3308f85597ac9e13fa2b167bc7804d92","responseTime":13,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA","level":"info","message":"auth send jwt","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.61452,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4ce30c618b7ea7c2ae019bb99a4b648b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Attempting to run experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Attempting to book experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Successfully booked experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe41d5f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe41fd00-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.05128,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe41d5f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fe41d5f0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.413134,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe41fd00-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe41fd00-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.415384224Z"}]},"request_id":"d3fcda6d-f19b-4c12-b0d4-d9f598d20954","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.5951388} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fe41d5f0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.460682144Z"}]},"request_id":"d7d9f458-96d4-4cd7-b8bd-5eebbf4a0271","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.596485} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fe41fd00-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe41d5f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba? 200 20ms","method":"GET","requestID":"fe41d5f0-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe41fd00-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba? 200 19ms","method":"GET","requestID":"fe41fd00-e324-11ef-a766-ff4094b4009c","responseTime":19,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Setting up experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Successfully set up experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe4a8880-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe4ad6a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe4b24c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693134,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe4a8880-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe4a8880-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Successfully running experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.075979,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe4ad6a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe4ad6a0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5e5e894-520f-4785-b7d6-0512ff07ad7b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.651239} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.460682144Z"}]},"request_id":"87751bea-ff4d-4a89-8d96-4afeb31a6063","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.6536896} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.241438,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe4b24c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"fe4b24c0-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fe4ad6a0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.415384224Z"}]},"request_id":"96c0658f-1dce-4c5b-8d1e-6e4d505c90a0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.6550148} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fe4a8880-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98890960-49d4-425e-8633-45a12e1813f9#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98890960-49d4-425e-8633-45a12e1813f9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"563b4b98-eb3b-44b9-915b-a384f948ec76","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.6603737} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe4b24c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec4494bf-a0b2-47b5-8c44-abb9809dc427","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.6606374} device-1 | {"level":"info","message":"POST /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling 200 18ms","method":"POST","requestID":"fe4b24c0-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe4ad6a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba? 200 20ms","method":"GET","requestID":"fe4ad6a0-e324-11ef-a766-ff4094b4009c","responseTime":20,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe4a8880-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba? 200 23ms","method":"GET","requestID":"fe4a8880-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe4e5910-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8071d584-1653-45e7-b30a-0b18eb65fe9c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.6706665} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe4f4370-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.070808,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe4e5910-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe4e5910-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 118ms","method":"POST","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b","responseTime":118,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe4e5910-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling 200 10ms","method":"POST","requestID":"fe4e5910-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce3b473c-2d71-4c03-9223-503ba0fc0874","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.6759267} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.805214,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe4f4370-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe4f4370-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA","level":"info","message":"auth send jwt","requestID":"6aa8895ac40e75aa0b12a32bb5ebc0ca"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6aa8895ac40e75aa0b12a32bb5ebc0ca","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe4f4370-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling 200 9ms","method":"POST","requestID":"fe4f4370-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6aa8895ac40e75aa0b12a32bb5ebc0ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe50f120-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.735394,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6aa8895ac40e75aa0b12a32bb5ebc0ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6aa8895ac40e75aa0b12a32bb5ebc0ca","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41964251-9c6f-4278-9795-ce6a64dbc6c6","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.6867032} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.086845,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe50f120-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fe50f120-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.415384224Z"}]},"request_id":"74462c4e-3cc9-49c8-95ef-688cce1431a0","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.688618} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6aa8895ac40e75aa0b12a32bb5ebc0ca","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe50f120-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling 200 11ms","method":"POST","requestID":"fe50f120-e324-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6aa8895ac40e75aa0b12a32bb5ebc0ca"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6aa8895ac40e75aa0b12a32bb5ebc0ca"} device-1 | {"level":"info","message":"GET /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba? 200 12ms","method":"GET","requestID":"6aa8895ac40e75aa0b12a32bb5ebc0ca","responseTime":12,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Building connection plan","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"76d13248-0395-4387-be83-ee6d025dbb8a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"0fc62704-f97c-427a-b99d-dacab6448d85"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4d77fd72-c12c-41b0-9ff4-f1a30c6273b2"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA","level":"info","message":"auth send jwt","requestID":"a2def22240a35ac16fb17a09aefd0859"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a2def22240a35ac16fb17a09aefd0859","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.900999,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2def22240a35ac16fb17a09aefd0859"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639894,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"a2def22240a35ac16fb17a09aefd0859","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a2def22240a35ac16fb17a09aefd0859","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:27.460682144Z"}]},"request_id":"ad9acb0e-eba0-4e82-98e0-0a42485e4e97","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.7040632} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2def22240a35ac16fb17a09aefd0859","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2def22240a35ac16fb17a09aefd0859"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"26ece99b-c5f5-4b11-a0e8-96b3f0668a53","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.7068837} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2def22240a35ac16fb17a09aefd0859"} device-1 | {"level":"info","message":"GET /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba? 200 9ms","method":"GET","requestID":"a2def22240a35ac16fb17a09aefd0859","responseTime":9,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6955b113-dd55-4c2b-9773-20b3cd6a476c","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.7073495} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c'","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c'","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"fe52ecf0-e324-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c","device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c","device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4ce30c618b7ea7c2ae019bb99a4b648b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe5a18e0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"127cd8ac-4346-4430-bcd0-81d96435463b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.7462409} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.514046,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe5a18e0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe5a18e0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe5a18e0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling 200 9ms","method":"POST","requestID":"fe5a18e0-e324-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe5bc690-e324-11ef-a766-ff4094b4009c"} device-1 | {"device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f68c5bb5-437d-4f4b-b934-bee7d5df7304","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.762419} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.166767,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 7318680523060794345 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:0dU7\r\na=ice-pwd:oydbLRPdpkOUxjwS4OVVaFPW\r\na=ice-options:trickle\r\na=fingerprint:sha-256 58:97:3A:F1:36:45:8B:3C:04:77:D4:A8:CF:33:58:74:D4:3E:A6:D0:5B:3D:9F:A9:94:21:2B:58:D0:E0:BA:F4\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe5bc690-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"fe5bc690-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe5bc690-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling 200 14ms","method":"POST","requestID":"fe5bc690-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 3541357556964269052 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:6a5L\r\na=ice-pwd:H2ivc5i4wHdFOD5QvlGNrAu7\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F2:32:9D:E3:93:2C:16:28:B1:79:0C:E1:EA:62:04:89:B2:86:6E:B6:44:A1:AF:4C:3B:88:AD:9F:75:49:49:F7\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2106640309 1 udp 2113937151 a9e26b74-0e0b-4565-817f-75be4ec615a2.local 33558 typ host generation 0 ufrag 6a5L network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1607354680 1 udp 1677729535 141.24.211.56 33558 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 6a5L network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba'"} device-1 | {"content":{"candidate":"candidate:1244002053 1 udp 2113937151 b8ac87fd-c3e9-4b00-861e-d23a4fc0d4bc.local 34134 typ host generation 0 ufrag 0dU7 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3456671098 1 udp 1677729535 141.24.211.56 34134 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 0dU7 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba'"} device-1 | {"device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"10c468ad-5b49-48c8-83e3-39ee95153a4c","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fdf28cc2b688f85fb8852873aa6a5ebc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fdf28cc2b688f85fb8852873aa6a5ebc","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c"}}},"level":"info","message":"received a callback","requestID":"fdf28cc2b688f85fb8852873aa6a5ebc"} device-1 | {"device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"fdf28cc2b688f85fb8852873aa6a5ebc","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"fdf28cc2b688f85fb8852873aa6a5ebc"} device-1 | {"data":{"peerconnection":"10c468ad-5b49-48c8-83e3-39ee95153a4c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"10c468ad-5b49-48c8-83e3-39ee95153a4c","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"10c468ad-5b49-48c8-83e3-39ee95153a4c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4e8989ddea3517e46c93e5e74d6ca631","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4e8989ddea3517e46c93e5e74d6ca631","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c"}}},"level":"info","message":"received a callback","requestID":"4e8989ddea3517e46c93e5e74d6ca631"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"fe66c310-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F10c468ad-5b49-48c8-83e3-39ee95153a4c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdcf1f55-597a-49ba-8cfe-b34421ee3f79","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.8290052} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.144494,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe66c310-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe66c310-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"fe66c310-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c 200 7ms","method":"GET","requestID":"fe66c310-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"4e8989ddea3517e46c93e5e74d6ca631","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"4e8989ddea3517e46c93e5e74d6ca631"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe69f760-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a47936c-539d-4a78-8957-2691c0776ba7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.8500164} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.255731,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe69f760-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe69f760-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe69f760-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling 200 7ms","method":"POST","requestID":"fe69f760-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe6b56f0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74e20a81-d9cd-4999-b5bf-74ad07a4b825","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.8589835} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.153096,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe6b56f0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe6b56f0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe6b56f0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling 200 7ms","method":"POST","requestID":"fe6b56f0-e324-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA","level":"info","message":"auth send jwt","requestID":"941d570c7bca1f65f46d8e508a1e19a3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"941d570c7bca1f65f46d8e508a1e19a3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/98890960-49d4-425e-8633-45a12e1813f9","requestID":"941d570c7bca1f65f46d8e508a1e19a3"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.781767,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"941d570c7bca1f65f46d8e508a1e19a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"941d570c7bca1f65f46d8e508a1e19a3","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/98890960-49d4-425e-8633-45a12e1813f9","requestID":"941d570c7bca1f65f46d8e508a1e19a3"} experiment-1 | {"level":"info","message":"GET /experiments/98890960-49d4-425e-8633-45a12e1813f9 200 10ms","method":"GET","requestID":"941d570c7bca1f65f46d8e508a1e19a3","responseTime":10,"status":200,"url":"/experiments/98890960-49d4-425e-8633-45a12e1813f9"} gateway-1 | {"time_local":"04/Feb/2025:18:22:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/98890960-49d4-425e-8633-45a12e1813f9 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"941d570c7bca1f65f46d8e508a1e19a3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA","level":"info","message":"auth send jwt","requestID":"7345906f3daca4bf54d2d2153c4ddea2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7345906f3daca4bf54d2d2153c4ddea2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/98890960-49d4-425e-8633-45a12e1813f9","requestID":"7345906f3daca4bf54d2d2153c4ddea2"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.673768,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"7345906f3daca4bf54d2d2153c4ddea2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7345906f3daca4bf54d2d2153c4ddea2","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Attempting to finish experiment","requestID":"7345906f3daca4bf54d2d2153c4ddea2"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"fe76c8a0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.694254,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe76c8a0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693349,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM0OX0.hFJvX-lHN7NiEtZVn3y6AyJ_AkcxzWTgbVafsHBDrEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe76c8a0-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c","device":"be9c76b9-bba1-42d2-98c1-b84e0d066cba","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c","device":"59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"10c468ad-5b49-48c8-83e3-39ee95153a4c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F10c468ad-5b49-48c8-83e3-39ee95153a4c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F10c468ad-5b49-48c8-83e3-39ee95153a4c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"98d55b6a-e711-4ddc-b74a-39c23be728d5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.944316} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4e563a3be9c87d066be238615390eaed","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4e563a3be9c87d066be238615390eaed","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c0a0ef7-7f6e-48a6-a482-f7d47ea3de90","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.944631} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"fe76c8a0-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"763eeb19f7a7600e03bcf7f4e776f127","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"763eeb19f7a7600e03bcf7f4e776f127","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c"}}},"level":"info","message":"received a callback","requestID":"4e563a3be9c87d066be238615390eaed"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c"}}},"level":"info","message":"received a callback","requestID":"763eeb19f7a7600e03bcf7f4e776f127"} device-1 | {"data":{"peerconnection":"10c468ad-5b49-48c8-83e3-39ee95153a4c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"fe76c8a0-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c 204 33ms","method":"DELETE","requestID":"fe76c8a0-e324-11ef-a766-ff4094b4009c","responseTime":33,"status":204,"url":"/peerconnections/10c468ad-5b49-48c8-83e3-39ee95153a4c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/98890960-49d4-425e-8633-45a12e1813f9"},"level":"info","message":"Successfully finished experiment","requestID":"7345906f3daca4bf54d2d2153c4ddea2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe7df490-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe9c76b9-bba1-42d2-98c1-b84e0d066cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1873564-04a4-4c06-9e1a-9f2296ec645e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.9823058} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.916098,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe7df490-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe7df490-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe7df490-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling 200 10ms","method":"POST","requestID":"fe7df490-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba/signaling"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98890960-49d4-425e-8633-45a12e1813f9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98890960-49d4-425e-8633-45a12e1813f9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"da77c578-654f-4826-8d11-5d96d12c02ab","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.9874015} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1ff69c5-3e72-4872-9818-c3be8dc3cbf5","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.9877596} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fe7fc950-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"7345906f3daca4bf54d2d2153c4ddea2","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7180946-b504-43b5-b1f4-11cb59100fe4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693349.9934475} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.468598,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fe7fc950-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe7fc950-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fe7fc950-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling 200 8ms","method":"POST","requestID":"fe7fc950-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/98890960-49d4-425e-8633-45a12e1813f9","requestID":"7345906f3daca4bf54d2d2153c4ddea2"} gateway-1 | {"time_local":"04/Feb/2025:18:22:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/98890960-49d4-425e-8633-45a12e1813f9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.120","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7345906f3daca4bf54d2d2153c4ddea2"} experiment-1 | {"level":"info","message":"DELETE /experiments/98890960-49d4-425e-8633-45a12e1813f9 204 118ms","method":"DELETE","requestID":"7345906f3daca4bf54d2d2153c4ddea2","responseTime":118,"status":204,"url":"/experiments/98890960-49d4-425e-8633-45a12e1813f9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 92ms","method":"POST","requestID":"4e563a3be9c87d066be238615390eaed","responseTime":92,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch","requestID":"4e563a3be9c87d066be238615390eaed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 92ms","method":"POST","requestID":"763eeb19f7a7600e03bcf7f4e776f127","responseTime":92,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch","requestID":"763eeb19f7a7600e03bcf7f4e776f127"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1MH0.XEhOCCU9gHKXCohTTBHQ4M3Qn34_DUUplT6mEJkeFD0","level":"info","message":"auth send jwt","requestID":"5252888a30c23bd3bee13d240753cc89"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5252888a30c23bd3bee13d240753cc89","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5252888a30c23bd3bee13d240753cc89"} gateway-1 | {"time_local":"04/Feb/2025:18:22:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.548","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"aab255d3773d2e6031033b18866e1eb0"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:30Z"} gateway-1 | {"time_local":"04/Feb/2025:18:22:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.583","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8f2200c40056d2735aa461d41383a0bc"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.764413,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"5252888a30c23bd3bee13d240753cc89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693350,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1MH0.XEhOCCU9gHKXCohTTBHQ4M3Qn34_DUUplT6mEJkeFD0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5252888a30c23bd3bee13d240753cc89","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/59c3a41d-2d18-4b2f-b9ae-2c0317c4d4ba' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79c41990-4d58-454f-abde-e3d9856e24d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a43c87f7-7801-4815-bd11-ffd6830f272b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.0685523} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5252888a30c23bd3bee13d240753cc89","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f76ce37-0db8-46e2-9e76-e768d6bb8633","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.0724514} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5252888a30c23bd3bee13d240753cc89","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/be9c76b9-bba1-42d2-98c1-b84e0d066cba' closed"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79c41990-4d58-454f-abde-e3d9856e24d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"939f6570-9ecb-483d-a55e-66cfc6152e9d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.0833821} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"225be52b-adf6-40c1-a385-b50691886475","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.0835714} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"5252888a30c23bd3bee13d240753cc89","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79c41990-4d58-454f-abde-e3d9856e24d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79c41990-4d58-454f-abde-e3d9856e24d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:30.083358124Z"}]},"request_id":"11719dc2-4db7-4126-a8b8-be5f1b072239","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.0866697} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5252888a30c23bd3bee13d240753cc89","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5252888a30c23bd3bee13d240753cc89"} gateway-1 | {"time_local":"04/Feb/2025:18:22:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5252888a30c23bd3bee13d240753cc89"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"5252888a30c23bd3bee13d240753cc89","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1MH0.XEhOCCU9gHKXCohTTBHQ4M3Qn34_DUUplT6mEJkeFD0","level":"info","message":"auth send jwt","requestID":"d95ad0cbe4302bcf26141747cfd39e29"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d95ad0cbe4302bcf26141747cfd39e29","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d95ad0cbe4302bcf26141747cfd39e29"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.72947,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"d95ad0cbe4302bcf26141747cfd39e29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693350,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1MH0.XEhOCCU9gHKXCohTTBHQ4M3Qn34_DUUplT6mEJkeFD0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d95ad0cbe4302bcf26141747cfd39e29","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8594abf2-1d94-452b-ac1a-8f7b05a18c78","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.1087687} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d95ad0cbe4302bcf26141747cfd39e29","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95455469-ed05-4a41-b4e4-b2c5e345cff3","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.1131394} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d95ad0cbe4302bcf26141747cfd39e29","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"38509e08-00e3-4412-b7a9-9b424a79f978","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.124098} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbac2d98-2f8a-4f9c-8d38-b516ba860202","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.1242235} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"d95ad0cbe4302bcf26141747cfd39e29","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:30.124069428Z"}]},"request_id":"9ee3c3a9-39cd-4880-bd79-e7bbc7182314","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693350.127213} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"d95ad0cbe4302bcf26141747cfd39e29","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d95ad0cbe4302bcf26141747cfd39e29"} gateway-1 | {"time_local":"04/Feb/2025:18:22:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d95ad0cbe4302bcf26141747cfd39e29"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"d95ad0cbe4302bcf26141747cfd39e29","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"76601616525c86e320e452ed4260b0b1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"76601616525c86e320e452ed4260b0b1","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/websocket 200 1ms","method":"OPTIONS","requestID":"76601616525c86e320e452ed4260b0b1","responseTime":1,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:22:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"76601616525c86e320e452ed4260b0b1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ","level":"info","message":"auth send jwt","requestID":"55c8a9fec4aa70e10eb89336f04d41b2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"55c8a9fec4aa70e10eb89336f04d41b2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"55c8a9fec4aa70e10eb89336f04d41b2"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21414,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"55c8a9fec4aa70e10eb89336f04d41b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"55c8a9fec4aa70e10eb89336f04d41b2","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"55c8a9fec4aa70e10eb89336f04d41b2"} device-1 | {"level":"info","message":"POST /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/websocket 200 22ms","method":"POST","requestID":"55c8a9fec4aa70e10eb89336f04d41b2","responseTime":22,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/websocket"} gateway-1 | {"time_local":"04/Feb/2025:18:22:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"55c8a9fec4aa70e10eb89336f04d41b2"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ","level":"info","message":"auth send jwt","requestID":"f2ca201432583bab730ebd8cd9b6402f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f2ca201432583bab730ebd8cd9b6402f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f2ca201432583bab730ebd8cd9b6402f"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.313282,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"f2ca201432583bab730ebd8cd9b6402f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f2ca201432583bab730ebd8cd9b6402f","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:30.124069428Z"}]},"request_id":"34a9100b-5354-47b1-940d-896bacdc0951","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.1864645} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f2ca201432583bab730ebd8cd9b6402f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f2ca201432583bab730ebd8cd9b6402f"} gateway-1 | {"time_local":"04/Feb/2025:18:22:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2ca201432583bab730ebd8cd9b6402f"} device-1 | {"level":"info","message":"GET /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f? 200 17ms","method":"GET","requestID":"f2ca201432583bab730ebd8cd9b6402f","responseTime":17,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ","level":"info","message":"auth send jwt","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.272393,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Attempting to run experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Attempting to book experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Successfully booked experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ffd7b830-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ffd80650-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.091673,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79c41990-4d58-454f-abde-e3d9856e24d4","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ffd7b830-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/79c41990-4d58-454f-abde-e3d9856e24d4","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ffd7b830-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051526,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ffd80650-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ffd80650-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79c41990-4d58-454f-abde-e3d9856e24d4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79c41990-4d58-454f-abde-e3d9856e24d4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:30.083358124Z"}]},"request_id":"b6fa253f-4838-476d-beb0-ca8186224b8b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.253527} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ffd7b830-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:30.124069428Z"}]},"request_id":"2379e3b4-acf8-4364-9c86-2a118dd6ad77","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.254472} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ffd80650-e324-11ef-a766-ff4094b4009c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ffd7b830-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/79c41990-4d58-454f-abde-e3d9856e24d4? 200 18ms","method":"GET","requestID":"ffd7b830-e324-11ef-a766-ff4094b4009c","responseTime":18,"status":200,"url":"/devices/79c41990-4d58-454f-abde-e3d9856e24d4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ffd80650-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f? 200 17ms","method":"GET","requestID":"ffd80650-e324-11ef-a766-ff4094b4009c","responseTime":17,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Setting up experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"ffdce850-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.121437,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/79c41990-4d58-454f-abde-e3d9856e24d4","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ffdce850-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/79c41990-4d58-454f-abde-e3d9856e24d4","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ffdce850-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"6f763e2e-a05d-4f94-8877-ef334698277b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.3101134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"740ada07-0dc4-4645-92f3-d755e7706e34","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.3103018} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"ffdce850-e324-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f' to 'http://localhost/callbacks/experiment'","requestID":"ffdce850-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"ffdce850-e324-11ef-a766-ff4094b4009c"} authentication-1 | {"level":"info","message":"POST /token 201 15ms","method":"POST","requestID":"ffe329e0-e324-11ef-bc46-bb9295b8d2b0","responseTime":15,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/79c41990-4d58-454f-abde-e3d9856e24d4?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 61ms","method":"POST","requestID":"ffdce850-e324-11ef-a766-ff4094b4009c","responseTime":61,"status":201,"url":"/devices/79c41990-4d58-454f-abde-e3d9856e24d4?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Successfully set up experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ffee2660-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ffee9b90-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"client_addr":"127.0.0.1:42420","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.06721,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ffef10c0-e324-11ef-a766-ff4094b4009c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Successfully running experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ffee2660-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ffee2660-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866599,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ffee9b90-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ffee9b90-e324-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7077ec53-1fd5-4ee7-b6b5-f6df7cb846af","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.4040315} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:32.310076541Z"}]},"request_id":"e5c4e910-063a-4a94-8e9b-9a639dadef3f","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.4046094} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.209234,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"ffee2660-e324-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ffef10c0-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"ffef10c0-e324-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:30.124069428Z"}]},"request_id":"66091f15-6fb4-41a6-9ed4-3cd7513d5a44","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.4067922} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"ffee9b90-e324-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ffee2660-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/589ac855-22e9-4059-b2db-61205fc7905f? 200 26ms","method":"GET","requestID":"ffee2660-e324-11ef-a766-ff4094b4009c","responseTime":26,"status":200,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f?"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F655064a3-a766-45bd-bc72-3ab1712c2564#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F655064a3-a766-45bd-bc72-3ab1712c2564","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"c036472c-853f-4d75-8e7e-0a68cf8d35f4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.4171188} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 589ac855-22e9-4059-b2db-61205fc7905f","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 589ac855-22e9-4059-b2db-61205fc7905f\n at Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:44:15)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"ffef10c0-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d93b722-8216-4699-a020-2bb5566db306","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.4176917} device-1 | {"level":"info","message":"POST /devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling 404 23ms","method":"POST","requestID":"ffef10c0-e324-11ef-a766-ff4094b4009c","responseTime":23,"status":404,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ffee9b90-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f? 200 28ms","method":"GET","requestID":"ffee9b90-e324-11ef-a766-ff4094b4009c","responseTime":28,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f?"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 589ac855-22e9-4059-b2db-61205fc7905f"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"fff32f70-e324-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87aac2ef-1f1f-4534-b672-946ca6e18add","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693352.43049} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.326085,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"fff32f70-e324-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"fff32f70-e324-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564","user":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} gateway-1 | {"time_local":"04/Feb/2025:18:22:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"level":"info","message":"POST /experiments? 201 235ms","method":"POST","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53","responseTime":235,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"fff32f70-e324-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling 200 14ms","method":"POST","requestID":"fff32f70-e324-11ef-a766-ff4094b4009c","responseTime":14,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"97f028e755d5d23a8230a98bccb3062a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"97f028e755d5d23a8230a98bccb3062a","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"04/Feb/2025:18:22:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/589ac855-22e9-4059-b2db-61205fc7905f/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.004","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"97f028e755d5d23a8230a98bccb3062a"} device-1 | {"level":"info","message":"OPTIONS /devices/589ac855-22e9-4059-b2db-61205fc7905f/websocket 200 1ms","method":"OPTIONS","requestID":"97f028e755d5d23a8230a98bccb3062a","responseTime":1,"status":200,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6Ii11U1ZZUVRDbmFQLTZFM0pheDNDM3FMRFhHTm9WeTJYN2lPVnkwdXQyM0JwOTZseHotZWhhOFVOMXdROFdPYTZsbDFOMFNXalFfZFBxdE5BU0pzTkRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1NH0.T8g5uzUAkIPqLXmiL1Vr5Qcu7o_8K3ccplmpiJOg61Y","level":"info","message":"auth send jwt","requestID":"ace7e3de61ea0c6444483a75d8a7352b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ace7e3de61ea0c6444483a75d8a7352b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ace7e3de61ea0c6444483a75d8a7352b"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166839,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ace7e3de61ea0c6444483a75d8a7352b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","payload":{"admin":true,"edgeToken":"-uSVYQTCnaP-6E3Jax3C3qLDXGNoVy2X7iOVy0ut23Bp96lxz-eha8UN1wQ8WOa6ll1N0SWjQ_dPqtNASJsNDg","iat":1738693354,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6Ii11U1ZZUVRDbmFQLTZFM0pheDNDM3FMRFhHTm9WeTJYN2lPVnkwdXQyM0JwOTZseHotZWhhOFVOMXdROFdPYTZsbDFOMFNXalFfZFBxdE5BU0pzTkRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1NH0.T8g5uzUAkIPqLXmiL1Vr5Qcu7o_8K3ccplmpiJOg61Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ace7e3de61ea0c6444483a75d8a7352b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ace7e3de61ea0c6444483a75d8a7352b"} gateway-1 | {"time_local":"04/Feb/2025:18:22:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/589ac855-22e9-4059-b2db-61205fc7905f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ace7e3de61ea0c6444483a75d8a7352b"} device-1 | {"level":"info","message":"POST /devices/589ac855-22e9-4059-b2db-61205fc7905f/websocket 200 20ms","method":"POST","requestID":"ace7e3de61ea0c6444483a75d8a7352b","responseTime":20,"status":200,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4831a61b976d1ad618da2bfa996e3ac8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4831a61b976d1ad618da2bfa996e3ac8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"4831a61b976d1ad618da2bfa996e3ac8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1NH0.EP9oRNbLtSh5zy_csRmsNibsLRsYjecFfTHGwLBpM2s","level":"info","message":"auth send jwt","requestID":"4baefb689e6f3708c013fe7a1e2bbde8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4baefb689e6f3708c013fe7a1e2bbde8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4baefb689e6f3708c013fe7a1e2bbde8"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.776088,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"4baefb689e6f3708c013fe7a1e2bbde8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693354,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1NH0.EP9oRNbLtSh5zy_csRmsNibsLRsYjecFfTHGwLBpM2s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4baefb689e6f3708c013fe7a1e2bbde8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:32.310076541Z"}]},"request_id":"0469a979-1004-4c3f-bc41-bb56c3434cf7","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693354.5335338} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4baefb689e6f3708c013fe7a1e2bbde8","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4baefb689e6f3708c013fe7a1e2bbde8"} gateway-1 | {"time_local":"04/Feb/2025:18:22:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/589ac855-22e9-4059-b2db-61205fc7905f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4baefb689e6f3708c013fe7a1e2bbde8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"4831a61b976d1ad618da2bfa996e3ac8","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"4831a61b976d1ad618da2bfa996e3ac8"} device-1 | {"level":"info","message":"GET /devices/589ac855-22e9-4059-b2db-61205fc7905f? 200 20ms","method":"GET","requestID":"4baefb689e6f3708c013fe7a1e2bbde8","responseTime":20,"status":200,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1NH0.EP9oRNbLtSh5zy_csRmsNibsLRsYjecFfTHGwLBpM2s","level":"info","message":"auth send jwt","requestID":"87130131d21844298342e5999645b616"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"87130131d21844298342e5999645b616","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87130131d21844298342e5999645b616"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.201793,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"87130131d21844298342e5999645b616","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693354,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1NH0.EP9oRNbLtSh5zy_csRmsNibsLRsYjecFfTHGwLBpM2s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87130131d21844298342e5999645b616","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:30.124069428Z"}]},"request_id":"aff7bbb9-a92e-4f6f-9384-43303a1ebad4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693354.559068} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"87130131d21844298342e5999645b616","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87130131d21844298342e5999645b616"} gateway-1 | {"time_local":"04/Feb/2025:18:22:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87130131d21844298342e5999645b616"} device-1 | {"level":"info","message":"GET /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f? 200 15ms","method":"GET","requestID":"87130131d21844298342e5999645b616","responseTime":15,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02eebc30-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"02ef0a50-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52192","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.766699,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"02eebc30-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"02eebc30-e325-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.739526,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"02ef0a50-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"02ef0a50-e325-11ef-a766-ff4094b4009c","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:32.310076541Z"}]},"request_id":"aecb1e61-3630-456c-ac27-53f478b35b62","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.440851} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"02eebc30-e325-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"},"timestamp":"2025-02-04T18:22:30.124069428Z"}]},"request_id":"8573538e-bc4e-4c67-83d7-de3680722b02","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.44621} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02eebc30-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"02ef0a50-e325-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/589ac855-22e9-4059-b2db-61205fc7905f? 200 21ms","method":"GET","requestID":"02eebc30-e325-11ef-a766-ff4094b4009c","responseTime":21,"status":200,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"02ef0a50-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f? 200 23ms","method":"GET","requestID":"02ef0a50-e325-11ef-a766-ff4094b4009c","responseTime":23,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02f301f0-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22c7c904-41f2-47b3-8ce9-957ee897cf8d","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.461756} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.166016,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"02f301f0-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"02f301f0-e325-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02f301f0-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling 200 13ms","method":"POST","requestID":"02f301f0-e325-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"02f572f0-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"797f7625-a033-49f1-bc61-112196405c6e","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.4778967} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.030493,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"02f572f0-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"02f572f0-e325-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"02f572f0-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling 200 13ms","method":"POST","requestID":"02f572f0-e325-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Building connection plan","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"23547166-c50e-4f80-9ec1-c4366dab3cca"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e17ef94c-fac8-4e38-ab23-4254c6c2fdb9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d8ed77be-2127-42b1-bf31-f7710c1db42f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.334908,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"02f80b00-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693352,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1Mn0.yI0qnEYws9ZrFc-YnFaej5K6DV3BgHamXkExKmWp6QQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined#owner@http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]}},"raw_response":{},"request_id":"a55e6d7b-86e8-4eda-8a7b-a43d93c48997","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.5068517} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ffbc9ce-6e58-4445-98c5-4ca7e3971ed9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.5076737} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808'","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808'","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 41ms","method":"POST","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c","responseTime":41,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"02f80b00-e325-11ef-a766-ff4094b4009c"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808","device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808","device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2ae8a2a499ec4b2c78073f5f1dd93a53"} device-1 | {"device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"03050350-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3423b149-dfc0-4aa1-9d2c-63d0057081df","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.5771391} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.782913,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"03050350-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"03050350-e325-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 4578504706365184826 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:sO61\r\na=ice-pwd:w6x9S2bCoqJ2ehgWjfwKr8Ii\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2F:92:76:3A:3D:CA:2B:07:CF:EA:27:F1:BE:D1:6A:F1:EE:94:3C:D7:64:D8:39:2A:D5:03:59:A5:3D:72:7E:C0\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"03050350-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling 200 10ms","method":"POST","requestID":"03050350-e325-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0306d810-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 8612135767537832141 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:6izW\r\na=ice-pwd:V+IGu6kAuy6jZPLxknVwa7np\r\na=ice-options:trickle\r\na=fingerprint:sha-256 11:F8:8B:BC:8A:10:20:36:C9:94:60:DD:67:E9:09:1F:89:F8:80:5A:3E:AA:C1:4F:0C:A8:6D:91:8E:A9:95:64\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c1a4cf0-9b8e-4aff-9fd4-e582459af4eb","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.589959} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.80603,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0306d810-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0306d810-e325-11ef-a766-ff4094b4009c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"candidate":"candidate:2394798786 1 udp 2113937151 f5184ef7-cb6b-4030-9c05-11b388f03a60.local 50856 typ host generation 0 ufrag 6izW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:177262781 1 udp 1677729535 141.24.211.56 50856 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 6izW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f'"} device-1 | {"content":{"candidate":"candidate:3728312357 1 udp 2113937151 4c57842a-2e9a-4af3-9ccf-3b1ae67c9005.local 44223 typ host generation 0 ufrag sO61 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0306d810-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling 200 12ms","method":"POST","requestID":"0306d810-e325-11ef-a766-ff4094b4009c","responseTime":12,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling"} device-1 | {"content":{"candidate":"candidate:1293035830 1 udp 1677729535 141.24.211.56 44223 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag sO61 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f'"} device-1 | {"device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"623498a3-ce28-41de-967e-ec399b721808","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed17092e54fa468222a69925c294ac83","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ed17092e54fa468222a69925c294ac83","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808"}}},"level":"info","message":"received a callback","requestID":"ed17092e54fa468222a69925c294ac83"} device-1 | {"device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"ed17092e54fa468222a69925c294ac83","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed17092e54fa468222a69925c294ac83"} device-1 | {"device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"623498a3-ce28-41de-967e-ec399b721808","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"623498a3-ce28-41de-967e-ec399b721808","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"623498a3-ce28-41de-967e-ec399b721808","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cbeb6d7562c6f15cb72e6cc1ae8fc9cf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cbeb6d7562c6f15cb72e6cc1ae8fc9cf","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808"}}},"level":"info","message":"received a callback","requestID":"cbeb6d7562c6f15cb72e6cc1ae8fc9cf"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"030eee60-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F623498a3-ce28-41de-967e-ec399b721808","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b15d7d12-f24e-448a-b99c-86b33d95580b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.6418643} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.235314,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"030eee60-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"030eee60-e325-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"030eee60-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"GET /peerconnections/623498a3-ce28-41de-967e-ec399b721808 200 7ms","method":"GET","requestID":"030eee60-e325-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/peerconnections/623498a3-ce28-41de-967e-ec399b721808"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"cbeb6d7562c6f15cb72e6cc1ae8fc9cf","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"cbeb6d7562c6f15cb72e6cc1ae8fc9cf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"0311d490-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"def74400-15be-4a50-ad52-10e35a1f47ef","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.6619446} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.363936,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0311d490-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0311d490-e325-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"0311d490-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling 200 8ms","method":"POST","requestID":"0311d490-e325-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"03135b30-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7bf384d-60f2-45ab-ae8d-a8bf3965648b","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.6719353} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.575755,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"03135b30-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"03135b30-e325-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"03135b30-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling 200 9ms","method":"POST","requestID":"03135b30-e325-11ef-a766-ff4094b4009c","responseTime":9,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1N30.mYsTJ17twVCQLfHcntOP-SOGDlFX8ZKeXg0jiHqrzpY","level":"info","message":"auth send jwt","requestID":"ca5b0b84f3a726bad778d332d72adf33"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ca5b0b84f3a726bad778d332d72adf33","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/655064a3-a766-45bd-bc72-3ab1712c2564","requestID":"ca5b0b84f3a726bad778d332d72adf33"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.660038,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"ca5b0b84f3a726bad778d332d72adf33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693357,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1N30.mYsTJ17twVCQLfHcntOP-SOGDlFX8ZKeXg0jiHqrzpY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ca5b0b84f3a726bad778d332d72adf33","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/655064a3-a766-45bd-bc72-3ab1712c2564","requestID":"ca5b0b84f3a726bad778d332d72adf33"} experiment-1 | {"level":"info","message":"GET /experiments/655064a3-a766-45bd-bc72-3ab1712c2564 200 13ms","method":"GET","requestID":"ca5b0b84f3a726bad778d332d72adf33","responseTime":13,"status":200,"url":"/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"} gateway-1 | {"time_local":"04/Feb/2025:18:22:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/655064a3-a766-45bd-bc72-3ab1712c2564 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca5b0b84f3a726bad778d332d72adf33"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1N30.mYsTJ17twVCQLfHcntOP-SOGDlFX8ZKeXg0jiHqrzpY","level":"info","message":"auth send jwt","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/655064a3-a766-45bd-bc72-3ab1712c2564","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.131371,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"6689d22b299bb3c7b89fa1d7cc51abd6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"experiment:http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564","object_type":"experiment","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693357,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1N30.mYsTJ17twVCQLfHcntOP-SOGDlFX8ZKeXg0jiHqrzpY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Attempting to finish experiment","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"032164f0-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.291915,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"032164f0-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"peerconnection:http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693357,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1N30.mYsTJ17twVCQLfHcntOP-SOGDlFX8ZKeXg0jiHqrzpY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"032164f0-e325-11ef-a766-ff4094b4009c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808","device":"589ac855-22e9-4059-b2db-61205fc7905f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808","device":"6b343d59-a1e9-4bcd-a761-c00f01c0375f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"623498a3-ce28-41de-967e-ec399b721808","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F623498a3-ce28-41de-967e-ec399b721808': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F623498a3-ce28-41de-967e-ec399b721808","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"9e505d1e-3e95-44bd-87bb-fc8fba0b0051","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.777355} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8422ef66-4859-4776-b96a-b9185d9eb5f8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.7779996} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"032164f0-e325-11ef-a766-ff4094b4009c","responseTime":10,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"40965f9fb3f17bcd58e0f105f9999d8c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"40965f9fb3f17bcd58e0f105f9999d8c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808"}}},"level":"info","message":"received a callback","requestID":"40965f9fb3f17bcd58e0f105f9999d8c"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed5967c865d615cc489dc867a13abb79","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ed5967c865d615cc489dc867a13abb79","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"032164f0-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /peerconnections/623498a3-ce28-41de-967e-ec399b721808 204 27ms","method":"DELETE","requestID":"032164f0-e325-11ef-a766-ff4094b4009c","responseTime":27,"status":204,"url":"/peerconnections/623498a3-ce28-41de-967e-ec399b721808"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/623498a3-ce28-41de-967e-ec399b721808"}}},"level":"info","message":"received a callback","requestID":"ed5967c865d615cc489dc867a13abb79"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"0325d1c0-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.046217,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f'"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"0325d1c0-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","payload":{"admin":true,"edgeToken":"HA3_uVKvmVIFGSUJwzA3dmCOe00dEKSBgAS6ghE0zT6ymEAYIg7RScaOsSQI5_mzK4wmg1aN0Res3MMuHL12fg","iat":1738693357,"sub":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560","subject_alt":"http://localhost/users/60cf6b10-81cd-4286-b8b5-0ae287eec560"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzYwY2Y2YjEwLTgxY2QtNDI4Ni1iOGI1LTBhZTI4N2VlYzU2MCIsImVkZ2VUb2tlbiI6IkhBM191Vkt2bVZJRkdTVUp3ekEzZG1DT2UwMGRFS1NCZ0FTNmdoRTB6VDZ5bUVBWUlnN1JTY2FPc1NRSTVfbXpLNHdtZzFhTjBSZXMzTU11SEwxMmZnIiwiYWRtaW4iOnRydWUsImlhdCI6MTczODY5MzM1N30.mYsTJ17twVCQLfHcntOP-SOGDlFX8ZKeXg0jiHqrzpY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0325d1c0-e325-11ef-a766-ff4094b4009c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"d0a17afe-2667-442c-8c43-b63ffc328984","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.80438} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74aad373-f387-4d51-b57c-48b3f33b0aed","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.8046725} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"0325d1c0-e325-11ef-a766-ff4094b4009c","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"0325d1c0-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"DELETE /devices/589ac855-22e9-4059-b2db-61205fc7905f 204 31ms","method":"DELETE","requestID":"0325d1c0-e325-11ef-a766-ff4094b4009c","responseTime":31,"status":204,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"},"level":"info","message":"Successfully finished experiment","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"032e5d40-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F589ac855-22e9-4059-b2db-61205fc7905f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae54de09-f464-4933-9b2c-b043f2047ab4","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.85083} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.98384,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"032e5d40-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"032e5d40-e325-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"032e5d40-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling 404 13ms","method":"POST","requestID":"032e5d40-e325-11ef-a766-ff4094b4009c","responseTime":13,"status":404,"url":"/devices/589ac855-22e9-4059-b2db-61205fc7905f/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F655064a3-a766-45bd-bc72-3ab1712c2564': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F655064a3-a766-45bd-bc72-3ab1712c2564","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F60cf6b10-81cd-4286-b8b5-0ae287eec560"}]},"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","writes":null},"raw_response":{},"request_id":"11f7f0ad-29f0-4ec4-8d28-d27ba02cbe06","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.8613467} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"id":"01JK932DEC65BA8FBT753CCEN9","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE"},"raw_response":{"authorization_model":{"id":"01JK932DEC65BA8FBT753CCEN9","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ab836f8-2607-4321-9516-55cdd490f468","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.8616097} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"03311c60-e325-11ef-a766-ff4094b4009c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:44892","raw_request":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","contextual_tuples":null,"store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b343d59-a1e9-4bcd-a761-c00f01c0375f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ef965e4-1506-4274-8d46-a9de6c4bfcb8","store_id":"01JK932DDA9ZT5FXSQP5G4BXHE","subsystem":"openfga","timestamp":1738693357.8687806} authorization-1 | {"client_addr":"127.0.0.1:33838","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.40411,"resp_status":200,"subsystem":"opa","time":"2025-02-04T18:22:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","openfga":{"authorization_model_id":"01JK932DEC65BA8FBT753CCEN9","store":"01JK932DDA9ZT5FXSQP5G4BXHE"},"requestID":"03311c60-e325-11ef-a766-ff4094b4009c","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"03311c60-e325-11ef-a766-ff4094b4009c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"03311c60-e325-11ef-a766-ff4094b4009c"} device-1 | {"level":"info","message":"POST /devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling 200 13ms","method":"POST","requestID":"03311c60-e325-11ef-a766-ff4094b4009c","responseTime":13,"status":200,"url":"/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/655064a3-a766-45bd-bc72-3ab1712c2564","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6"} gateway-1 | {"time_local":"04/Feb/2025:18:22:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/655064a3-a766-45bd-bc72-3ab1712c2564 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6"} experiment-1 | {"level":"info","message":"DELETE /experiments/655064a3-a766-45bd-bc72-3ab1712c2564 204 185ms","method":"DELETE","requestID":"6689d22b299bb3c7b89fa1d7cc51abd6","responseTime":185,"status":204,"url":"/experiments/655064a3-a766-45bd-bc72-3ab1712c2564"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"40965f9fb3f17bcd58e0f105f9999d8c","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"40965f9fb3f17bcd58e0f105f9999d8c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"ed5967c865d615cc489dc867a13abb79","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"04/Feb/2025:18:22:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed5967c865d615cc489dc867a13abb79"} gateway-1 | {"time_local":"04/Feb/2025:18:22:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"5.781","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"95b07580a92700f91dcc3f6a99651f7c"} gateway-1 | {"time_local":"04/Feb/2025:18:22:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2406","request_time":"3.443","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"98f70b63bad109f519bd1ea8b974eb93"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6b343d59-a1e9-4bcd-a761-c00f01c0375f' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2d41aaa9fd4dcfd26fb474d8370d8162","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2d41aaa9fd4dcfd26fb474d8370d8162","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/589ac855-22e9-4059-b2db-61205fc7905f"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"2d41aaa9fd4dcfd26fb474d8370d8162"} gateway-1 | {"time_local":"04/Feb/2025:18:22:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"2d41aaa9fd4dcfd26fb474d8370d8162"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"2d41aaa9fd4dcfd26fb474d8370d8162","responseTime":2,"status":410,"url":"/callbacks/experiment"} federation-1 exited with code 143 authorization-1 exited with code 0 experiment-1 exited with code 143 authentication-1 exited with code 143 device-1 exited with code 143 gateway-1 exited with code 0